web-dev-qa-db-fra.com

Comment définir un fichier modèle pour un ID de nœud spécifique?

J'essaie de définir un fichier de modèle personnalisé pour un nœud spécifique, en utilisant l'ID de nœud. J'ai lu beaucoup de sujets disant de créer un fichier node - X.tpl.php dans le dossier des modèles.

C'est ce que j'ai fait; malheureusement, même après avoir vidé le cache de thèmes plusieurs fois, rien ne change.

Y a-t-il autre chose que je dois faire?

J'utilise Drupal 7.

7
Ludovic

un fichier modèle page-node-{nid}.tpl.php dans votre répertoire de thèmes. cela fonctionne aussi.

une chose dans node-{nodeid}.tpl.php you utilisez ceci.

0
Lav Rai

Dans Drupal 7, node - [node-id] .tpl.php est utilisé comme fichier modèle pour les nœuds, ainsi que node - [node-type] .tpl.php. Nothing sinon, comme Clive l'a écrit dans son commentaire, vous devez également avoir node.tpl.php dans le répertoire contenant les fichiers de modèle utilisés par votre thème.

Notez qu'il existe une différence entre node - [node-id] .tpl.php et page - node - [node-id] .tpl: ce dernier est également utilisé pour les pages sur node/[node-id]/modifier ou nœud/[nœud-nid]/supprimer. Voir le commentaire au début de theme_get_suggestions () .

Construisez une liste de thèmes ou de classes de corps suggérés par ordre de spécificité. Une suggestion est faite pour chaque élément du chemin actuel, bien que les éléments numériques ne soient pas transmis aux suggestions suivantes. Par exemple, pour $base = 'page', http://www.example.com/node/1/edit entraînerait les suggestions et classes de corps suivantes:

 page__node page-node 
 page__node __% page-node -% 
 page__node__1 page-node-1 
 page__node__edit page-node-edit 
10
kiamlaluno

une méthode simple pour connaître le bon nom à utiliser pour votre remplacement est drush.

Ouvrez une ligne de commande allez sur sites/default dans votre drupal et tapez cette ligne:

drush vset theme_debug 1

supprimer drush vset theme_debug 0 ..

après cela, rechargez votre nœud et regardez sa source de code. Vous verrez toutes les propositions possibles de drupal pour tout dans votre page (bloc, région, html.tpl.php, page.tpl.php ....)

0
moeb