বডি ক্লোজিং ট্যাগের ঠিক আগে আমি কীভাবে এইচটিএমএল প্রবেশ করব?


8

আমি পৃষ্ঠার drupal_add_js()নীচে জাভাস্ক্রিপ্ট যুক্ত করার অনুরূপ, ক্লোজিং বডি ট্যাগের আগে কোনও পৃষ্ঠায় স্বেচ্ছাকৃত HTML সামগ্রী সন্নিবেশ করার সর্বোত্তম উপায়টি সন্ধান করছি।

আমি একটি ওয়ার্ডপ্রেস পটভূমি থেকে আসছি, এবং ওয়ার্ডপ্রেসে wp_footer()হুক ব্যবহার করে এটি সম্পাদন করা যেতে পারে ।

আমি ব্যবহারের দিকে নজর রেখেছি hook_page_alter(), তবে আমি ভাবছিলাম যে এটি করার সঠিক উপায় কিনা বা এই কাজটি সম্পাদনের আরও ভাল উপায় যদি থাকে।


1
এই জাতীয় অনুরূপ প্রশ্নগুলি এখন এবং পরে পপ আপ হয় এবং আমি সর্বদা আশ্চর্য হই যে কেন "বডি ট্যাগের ঠিক আগে এইচটিএমএল toোকানো" প্রয়োজন? আমার কাছে মনে হচ্ছে আপনি ভুল পথে যা কিছু করছেন তার কাছে পৌঁছে যাচ্ছেন?
লেথারিয়ন

1
অন্যরা কেন এটি করতে চায় তা নিয়ে আমি কথা বলতে পারি না, তবে আমার ক্ষেত্রে আমি ব্লকগুলির জন্য পৃষ্ঠাটিতে ইন্ডোরস্কোর জেএস টেম্পলেট যুক্ত করছি। তবে একাধিক ব্লক একটি টেম্পলেট ব্যবহার করতে পারে তাই আমি পৃষ্ঠার নীচে সমস্ত টেমপ্লেট যুক্ত করতে চেয়েছিলাম যাতে এগুলি লোড হয়েছে কিনা তা আমি সহজেই দেখতে পারি। আমার কাছে এটি মূলত একটি নান্দনিকতা / সুবিধাজনক জিনিস।
drebabels

দুঃখিত যদি আমি ধীর হয়ে যাচ্ছি, তবে এটি আমার কাছে কী বোঝায় না? ক্যাচ / একত্রিকরণ / ইত্যাদি সুবিধার সাথে # সংযুক্ত , যা ফর্মের চেয়ে বেশি ব্যবহার করা যেতে পারে, আমি এখনও তা বুঝতে পারি না।
লেথারিয়ন

আমি # সংযুক্তের বহুমুখিতা সম্পর্কে অবগত ছিলাম না, তাই এটি আমার সাথে পরিচয় করিয়ে দেওয়ার জন্য আপনাকে ধন্যবাদ। তবে আমার ক্ষেত্রে আমি template টেমপ্লেট ফাইলগুলির বিষয়বস্তু পৃষ্ঠাতে লিখছি (কেবলমাত্র ফাইলগুলির সাথে সংযোগ দিচ্ছি না), তাই আমি ভুল হলে আমাকে সংশোধন করি তবে আমি মনে করি না যে এই ক্ষেত্রে # সংযুক্ত বিষয়বস্তুতে ক্যাশে / সমষ্টিগত উপকার হবে কারণ প্রকৃত পৃষ্ঠা ক্যাশিং এটির যত্ন নেবে।
ড্রেববেলস

উত্তর:


23

ড্রুপাল in- এ ব্যবহৃত হুক_ফুটারের সমতুল্য হুক_পেজ_বিল্ড () বাস্তবায়ন এবং নীচের কোডটির$page['page_bottom'] মতো কোড ব্যবহার করে এর সামগ্রী পরিবর্তন করতে হবে:

function mymodule_page_build(&$page) {
  $page['page_bottom']['devel'] = array(
    '#weight' => 25, 
    '#markup' => '<div style="clear:both;">' . devel_query_table() . '</div>',
  );
}

নিম্নলিখিত বিষয়বস্তু html.tpl.php$page['page_bottom'] থেকে আউটপুট , নিম্নলিখিত কোড ব্যবহার করে:

  <?php print $page_top; ?>
  <?php print $page; ?>
  <?php print $page_bottom; ?>
</body>
</html>

নিম্নলিখিত কোডটি ব্যবহার করে টেমপ্লেট_প্রসেস_এইচটিএমএল ()$page_bottom থেকে এর মান শুরু করা হয় :

  // Render page_top and page_bottom into top level variables.
  $variables['page_top'] = drupal_render($variables['page']['page_top']);
  $variables['page_bottom'] = drupal_render($variables['page']['page_bottom']);
  // Place the rendered HTML for the page body into a top level variable.
  $variables['page'] = $variables['page']['#children'];
  $variables['page_bottom'] .= drupal_get_js('footer');

হুক_পেজ_এল্টার () এর মধ্যে পার্থক্য এবং hook_page_build()এটি hook_page_alter()হ'ল পরে কার্যকর করা হয় hook_page_build()এবং অন্য মডিউল দ্বারা যুক্ত সামগ্রী পরিবর্তন করতে, বা hook_page_build()পৃষ্ঠায় নতুন সামগ্রী যুক্ত করার জন্য ব্যবহার করা উচিত।


এই উত্তরটি দিয়ে উপরে ওপারে যাওয়ার জন্য আপনাকে ধন্যবাদ। এটি খুব সহায়ক।
drebabels
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.