Je travaille sur un site Web Drupal 7. J'ai créé un type de contenu personnalisé pour les œuvres. J'ai de nombreux champs, et certains d'entre eux sont liés à la mise en page, comme une page bg particulière pour chaque entrée. J'ai donc besoin de page.tpl personnalisé pour ce type de contenu particulier.
J'ai donc activé et ouvert le module Theme Developer, et j'ai cliqué sur la zone du corps pour obtenir le nom du candidat pour cette entrée de page de type de contenu particulier. et cela me donne l'écran ci-dessous qui ne veut rien dire pour moi: / Quand je clique sur la zone du nœud, ça va, ça donne node - work.tpl.php, mais j'ai besoin d'une page. J'ai essayé "page - work.tpl.php", cela n'a pas fonctionné.
Qu'est-ce que je rate?
Dans template.php, ajoutez:
Vous pouvez omettre
str_replace()
; testez la version qui vous convient le mieux.Ensuite, créez un fichier modèle dont le nom de fichier est page –- [content_type] .tpl.php. (Remplacez [content_type] par le nom de machine du type de contenu.)
Voir http://drupal.org/node/1089656#comment-4426790 .
la source
Si vous souhaitez également l'ID du nœud, utilisez-le.
la source
Avoir un modèle différent pour chaque type de contenu n'est pas une bonne pratique selon les gars de Drupal. C'est la raison pour laquelle vous ne trouvez pas
page--work.tpl.php
dans la liste des fichiers de modèles candidats. Ils estiment que seuls les fichiers de modèle de nœud devraient être différents. Cependant, si vous voulez pirater, allez-y.Utilisez l'alias de chemin pour configurer un chemin basé sur le type de contenu. Et puis insérez ce code
dans la
phptemplate_preprocess_page(&$vars)
fonctiontemplate.php
dans le dossier du thème.Vous pouvez cependant modifier un peu le code pour le rendre plus efficace.
la source