Como se informa en las Sugerencias de plantillas de Drupal 7 , la sugerencia de plantilla utilizada de forma predeterminada desde Drupal 7 para las páginas es página - [front | internal / path] .tpl.php.
Para una página visible en http://www.example.com/node/1/edit , Drupal buscaría los siguientes archivos de plantilla:
- página - nodo - edit.tpl.php
- página - nodo - 1.tpl.php
- página - node.tpl.php
- page.tpl.php
Para agregar sugerencias adicionales, su tema debe implementar template_preprocess_page () y agregar nuevas sugerencias en $variables['theme_hook_suggestions']
( $variables
es la variable pasada por referencia a la función).
Si lo hizo, entonces la única razón por la que el archivo de plantilla sugerido no se está utilizando es porque el archivo no tiene un nombre correcto: en el caso de que la página muestre una página de libro, por ejemplo, el archivo de plantilla debería ser page - book.tpl .php. Puede cambiar el código de su tema y dejar que use la plantilla page - node-type.tpl.php, si no encuentra una plantilla como page - book.tpl.php.
Para notar también eso, en theme_get_suggestions () (que es la función llamada por template_preprocess_page () ) los guiones se reemplazan por _
, y no al revés. La razón por la que se hace se explica en un comentario informado en el código de función.
// 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);