Drupal 7 Comment remplacer page.tpl pour un type de contenu spécifique?
Je voulais remplacer page.tpl.php pour le type de contenu spécifique.
J'ai essayé ces chose, rien ne fonctionne pour moi.
page--article.tpl.php
page--node--article.tpl.php
page--node--type--article.tpl.php
page--node-type--article.tpl.php
page--type--article.tpl.php
Mais quand j'ai ciblé nœud spécifique par le nombre c'est à dire page--node--8.tpl.php
il a bien fonctionné.
Je pense que page--article.tpl.php
aurait travaillé, mais je ne sais pas pourquoi sa ne fonctionne pas.
Merci de me dire si je suis le nommer le mal. et comment puis-je debug de telles choses. J'ai entendu je peux utiliser le module Devel, mais ne savent rien à ce sujet. Une légère pointe dans la bonne direction sera appréciée.
Merci d'avance
source d'informationauteur Rahul Prasad
Vous devez vous connecter pour publier un commentaire.
Vous devez vous assurer que votre modèle peut gérer cela ... j'ai eu un extrait de code qui a fonctionné pour moi ici:
http://drupal.org/node/1089656#comment-4426790
Avez-vous pensé à vider le cache (en vertu de l'Administrer > configuration du Site > de la Performance), de sorte que Drupal est "conscient" de votre nouveau fichier & utilise ce plutôt que la valeur par défaut.
Voir ici sur De compensation des données mises en cache
Aussi, vous devrez peut-être ajouter un prétraitement de crochet (je n'ai pas utilisé D7 moi-même, juste 5/6 — pense que cela a quelque peu changé.) Ce post sur Drupal Stack Exchange semble donner plus de détails
Je viens de tomber sur le même problème.
node--recipe.tpl.php
pas
page--recipe.tpl.php
c'est, bien sûr, avec un type de contenu appelé "recette".
TOUJOURS VIDER LE CACHE...
Aller à /admin/config/développement/performance et cliquez sur effacer le cache du bouton. Il devrait être la première chose à faire si vous avez apporté des modifications à la structure de l'arrière-plan et qu'ils ne sont pas en montrant comme prévu.
Sinon, vous avez presque eu droit il
vous permettra de thème, le type de contenu du modèle.
Je sais que c'est une vieille question, mais si d'autres y arrivent ici, la façon dont je remplace les types de contenu dans drupal 7, c'est comme cela
nœud--contenttype.tpl
Vous devrez remplacer le nœud spécifique de modèle pour le type de contenu si c'est rien qu'une Page de Base. Veuillez vérifier cela:
http://api.drupal.org/node/19080
En vertu de cette page, copiez/collez les éléments qui sont dans le node.tpl.php page et l'écraser sur la façon dont vous le souhaitez. Vous pouvez accéder au nœud spécifiquement par $node
Votre modèle pour les articles serait:
node--article.tpl.php
Une fois qu'il est créé assurez-vous de vider le cache pour s'assurer que cela fonctionne.
Donc, en fonction de ce que vous essayez d'accomplir, il pourrait y avoir un peu de CSS astuces qui pourraient vous aider.
Par exemple, de substituer toutes les règles CSS spécifique à un type de nœud rappelez-vous juste que vos pages pour ce type de nœud aura un corps de classe de
"node-type-[TYPE]"
(ie:.node-type-article
)Vous pouvez ensuite remplacer le CSS comme suit:
L'étape 1.créer un type de contenu par exemple: mon type de contenu est "fullwidthpage"
L'étape 2. copie page.tpl.php et renommer page--fullwidthpage.tpl dans le dossier template.
L'étape 3. Ajoutez ce code à template.php