Drupal 7 Şablon Önerileri'nde bildirildiği gibi , sayfalar için Drupal 7'den varsayılan olarak kullanılan şablon önerisi sayfa - [ön | dahili / yol] .tpl.php'dir.
Http://www.example.com/node/1/edit adresinde görünen bir sayfa için Drupal aşağıdaki şablon dosyalarını arar:
- Sayfa - düğüm - edit.tpl.php
- Sayfa - düğüm - 1.tpl.php
- Sayfa - node.tpl.php
- page.tpl.php
Ek öneriler eklemek için temanızın template_preprocess_page () yöntemini uygulaması ve $variables['theme_hook_suggestions']
( içinde $variables
işleve referansla geçirilen değişken ) yeni öneriler eklemesi gerekir .
Bunu yaptıysanız, önerilen şablon dosyasının kullanılmamasının tek nedeni, dosyanın doğru adlandırılmamasıdır: sayfanın bir kitap sayfası göstermesi durumunda, şablon dosyası page - book.tpl olmalıdır .php. Temanızın kodunu değiştirebilir ve page - book.tpl.php gibi bir şablon bulamazsa page - node-type.tpl.php şablonunu kullanmasına izin verebilirsiniz.
Bunu da fark etmek için, theme_get_suggestions () 'da ( template_preprocess_page () tarafından çağrılan işlev ) tire işaretleri yerine _
, tersi değil. Bunun nedeni fonksiyon kodunda bildirilen bir açıklamada açıklanmaktadır.
// 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);