Estoy trabajando en un sitio web de Drupal 7. Creé un tipo de contenido personalizado para obras. Tengo muchos campos, y algunos de ellos están relacionados con el diseño de la página, como la página particular bg para cada entrada. Por lo tanto, necesito page.tpl personalizado para este tipo de contenido en particular.
Así que activé y abrí el módulo Desarrollador de temas, e hice clic en el área del cuerpo para obtener el nombre del candidato para esta entrada de página de tipo de contenido particular. y me da la siguiente pantalla que no significa nada para mí: / Cuando hago clic en el área del nodo, está bien, me da node - work.tpl.php, pero necesito una página. Intenté "page - work.tpl.php", no funcionó.
¿Qué me estoy perdiendo?
En template.php agrega:
Puedes omitir
str_replace()
; prueba qué versión funciona mejor para ti.Luego, cree un archivo de plantilla cuyo nombre de archivo sea page –- [content_type] .tpl.php. (Reemplace [content_type] con el tipo de contenido nombre del equipo).
Ver http://drupal.org/node/1089656#comment-4426790 .
fuente
En caso de que también desee la identificación del nodo, use esto.
fuente
Tener una plantilla diferente para cada tipo de contenido no es una buena práctica según los chicos de Drupal. Esa es la razón por la que no se encuentra
page--work.tpl.php
en la lista de archivos de plantillas candidatas. Sienten que solo los archivos de plantilla de nodo deberían ser diferentes. Sin embargo, si quieres hackear, adelante.Use el alias de ruta para configurar una ruta basada en el tipo de contenido. Y luego inserte este código
en la
phptemplate_preprocess_page(&$vars)
funcióntemplate.php
en la carpeta del tema.Sin embargo, puede modificar un poco el código para hacerlo más eficiente.
fuente