जैसा कि Drupal 7 टेम्पलेट सुझाव में बताया गया है , पृष्ठ के लिए Drupal 7 से डिफ़ॉल्ट रूप से उपयोग किया जाने वाला टेम्पलेट सुझाव पृष्ठ है - [सामने | आंतरिक / पथ] .tpl.php।
Http://www.example.com/node/1/edit पर दिखाई देने वाले पृष्ठ के लिए , Drupal निम्नलिखित टेम्पलेट फ़ाइलों की तलाश करेगा:
- पेज - नोड - edit.tpl.php
- पेज - नोड - 1.tpl.php
- पेज - node.tpl.php
- page.tpl.php
अतिरिक्त सुझावों को जोड़ने के लिए, आपकी थीम में template_preprocess_page को लागू करना चाहिए और नए सुझावों को जोड़ना चाहिए $variables['theme_hook_suggestions']
( $variables
यह फ़ंक्शन के संदर्भ में पारित चर है)।
यदि आपने ऐसा किया है, तो केवल सुझाए गए टेम्पलेट फ़ाइल का उपयोग नहीं किया जा रहा है, क्योंकि फ़ाइल का सही नाम नहीं है: मामले में पृष्ठ एक पुस्तक पृष्ठ दिखाता है, उदाहरण के लिए, टेम्पलेट फ़ाइल पृष्ठ होना चाहिए - book.tpl .php। आप अपनी थीम के लिए कोड बदल सकते हैं, और यदि यह पेज - book.tpl.php जैसे टेम्पलेट को नहीं ढूँढता है, तो इसे पृष्ठ - नोड-टाइप.tpl.php टेम्पलेट का उपयोग करने दें।
यह भी नोटिस करने के लिए कि, theme_get_suggestions () (जो कि template_preprocess_page () ) द्वारा कहे गए फंक्शंस में हाइफ़न द्वारा प्रतिस्थापित किया जाता है _
, न कि इसके विपरीत। फ़ंक्शन कोड में बताई गई टिप्पणी में इसका कारण बताया गया है।
// When we discover templates in drupal_find_theme_templates(),
// hyphens (-) are converted to underscores (_) before the theme hook
// is registered. We do this because the hyphens used for delimiters
// in hook suggestions cannot be used in the function names of the
// associated preprocess functions. Any page templates designed to be used
// on paths that contain a hyphen are also registered with these hyphens
// converted to underscores so here we must convert any hyphens in path
// arguments to underscores here before fetching theme hook suggestions
// to ensure the templates are appropriately recognized.
$arg = str_replace(array("/", "\\", "\0", '-'), array('', '', '', '_'), $arg);