hook_preprocess_page
preprocess हुक लागू जब है page.tpl.php टेम्पलेट फ़ाइल प्रयोग किया जाता है, और hook_preprocess_html
preprocess हुक लागू जब है html.tpl.php टेम्पलेट फ़ाइल प्रयोग किया जाता है।
किसी पृष्ठ के साथ प्रदान किए जाने पर theme('page')
, दोनों प्रीप्रोसेस हुक लागू किए जाते हैं , क्योंकि पृष्ठ तत्व system_element_info () से परिभाषित होता है, जो html को थीम आवरण के रूप में परिभाषित करता है।
$types['page'] = array(
'#show_messages' => TRUE,
'#theme' => 'page',
'#theme_wrappers' => array('html'),
);
system_theme () तब html को इस प्रकार परिभाषित करता है।
'html' => array(
'render element' => 'page',
'template' => 'html',
),
लागू करने के लिए के रूप में hook_preprocess_html()
, आप इसे HTML.tpl.php फ़ाइल में उपयोग किए गए चर को बदलने के लिए लागू करते हैं, जिसमें डिफ़ॉल्ट रूप से निम्न सामग्री होती है।
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?>>
<head profile="<?php print $grddl_profile; ?>">
<?php print $head; ?>
<title><?php print $head_title; ?></title>
<?php print $styles; ?>
<?php print $scripts; ?>
</head>
<body class="<?php print $classes; ?>" <?php print $attributes;?>>
<div id="skip-link">
<a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a>
</div>
<?php print $page_top; ?>
<?php print $page; ?>
<?php print $page_bottom; ?>
</body>
</html>
जैसा कि आप देख सकते हैं, इसमें केवल HTML टैग हैं जो एक पृष्ठ सामग्री को लपेटते हैं, जो उपलब्ध हैं $page
। इसके साथ, आप <head>
टैग की सामग्री , पृष्ठ शीर्षक ( <title>
टैग में टैग में जाने वाले <head>
), सीएसएस शैलियों और जावास्क्रिप्ट फ़ाइलें एक पृष्ठ में जोड़ सकते हैं, कक्षाएं और <body>
टैग के लिए विशेषताएँ ।
Page.tpl.php टेम्प्लेट फ़ाइल के साथ, आप पृष्ठ का अधिक नाम परिवर्तित कर सकते हैं, जिसमें साइट का नाम, साइट का नारा, पृष्ठ का शीर्षक और पृष्ठ से जुड़े फ़ीड शामिल हैं। उनमें से ज्यादातर के लिए, एक विशिष्ट Drupal फ़ंक्शन / हुक है जिसे आपको उपयोग करना चाहिए।
hook_preprocess_HOOK
सभी प्रीप्रोसेस हुक के लिए उपयोग किया जाने वाला जेनेरिक हुक नाम है, उसी तरह hook_form_FORM_ID_alter()
एक हुक नाम है जिसे किसी परिवर्तनशील हुक के वर्ग के लिए उपयोग किया जाता है।