Catégories:
Bonjour,
je voudrais savoir comment faire pour avoir un type de page diffèrent selon le contenu,car j’ai reussi à faire un .tpl distinct pour la homepage ( page-front.tpl.php) mais ensuite j’ai deux mises en pages differents dans le sites selon le contenu…comment faire pour indiquer à drupal d’utiliser tel ou tel .tpl ?
merci
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Si tu veux faire une mise en page spécifique pour un type de contenu spécifique :
node-content_type.tpl.php
Mais ça ne va changer «que» ce qu’il y a dans ton node, pas la totalité de la page.
Pour changer l’ensemble de la page (donc header et footer compris, entre autre), j’ai utilisé le module Pathauto pour avoir une URL unique par type de contenu.
Par exemple pour le type de contenu A : www.monsite.com/moncontenu/A/[title]
Pour le type de contenu B donc : www.monsite.com/une/autre/url/[titre]
Et ensuite je fais un fichier page-moncontenu-A.tpl.php
Et page-une-autre-url.tpl.php
Et ça marche :)
fishclic
124
je pense que ta 1ere solution peut etre la bonne , creer un type de contenu et faire un tpl pour lui, mon header et footer sont identiques…
je vais faire des essais
le nom du fichier doit il etre le meme que le type de contenu créé ?
type de contenu : page test
fichier tpl : node-page-test.tpl.php
Drupal 6.xx - 2 sites chez OVH (pro) mutualisé, 6 chez AlwaysData (Pack10go)
/////////////
www.graphisme-libre.info
aiphes
1045
je viens de lire l’article sur le suggestions de template, et je pense que c’est la solution…par contre je ne connais pas assez php pour le faire tel qu’expliqué
http://www.kolossaldrupal.org/docs/travailler-avec-%C2%AB-templates-sugg…
par contre moi je peux créer un type de contenu et lui assigner un template comme dit précédemment, suis je alors obligé d’utiliser les suggestions ?
Drupal 6.xx - 2 sites chez OVH (pro) mutualisé, 6 chez AlwaysData (Pack10go)
/////////////
www.graphisme-libre.info
aiphes
1045
back in drupal
j’ai créé un type de contenu Page comme ceci :
adresse du TdC : content/node-type/page-lycee
nom : Page Lycée
type : page_lycee
et j’ai créé une page : page-lycee.tpl.php
mais je n’ai pas l’impression que ca marche…ai je bien construis les noms ?
Drupal 6.xx - 2 sites chez OVH (pro) mutualisé, 6 chez AlwaysData (Pack10go)
/////////////
www.graphisme-libre.info
aiphes
1045
Ça devrai plutôt être page-page-lycee.tpl.php, mais tu peut toujours vérifier avec Devel
takeova
356
Bonjour.
Le module themekey te permet de changer de thème selon le path.
il suffit de cloner ton thème,modifier le nom dans le .info etc et le modifier a ton gré .
(comment ca c’est bourrin ?)
nyot559
36
j’ai renommer mon fichier en page-page-lycee.tpl.php mais ca ne fait pas d’effets..j’utilise pathauto mais ca devrait pas poser de probleme puisque ca marche pour ma homepage avec page-front.tpl…
pour le module je ne suis pas chaud car ca va encore alourdir le site…je pense aussi aux suggestions de template que je n’ai pas creusé mais qui se rapproche de la solution actuelle….
Drupal 6.xx - 2 sites chez OVH (pro) mutualisé, 6 chez AlwaysData (Pack10go)
/////////////
www.graphisme-libre.info
aiphes
1045
Enfaite je pense que c’est page-page_lycee.tpl.php vu que le type est «page_lycee» mais pour devel il n’est pas nécessaire de le garder sur le site une fois terminé, c’est juste pour le développement du site après tu désinstalle.
takeova
356
pourtant voila ce que dit devel en cliquant sous le header :
Template called:page.tpl.php
File used:
sites/all/themes/Site_PF/page.tpl.php
Candidate template files:
page-node-2.tpl.php < page-node.tpl.php < page.tpl.php
si je fais page-node-page_lycee.tpl.php ca ne marche pas …
au début il me disais qu’il fallait mettre : node-page_lycee.tpl.php ; ca marche mais j’ai toujours ma structure de page 3 colonnes alors que je n’en veux que 2…
si je clique sur le content seul :
Parents: page.tpl.phpTemplate called:
node.tpl.php
File used:
sites/all/themes/Site_PF/node.tpl.php
Candidate template files:
node-page_lycee.tpl.php < node.tpl.php
mon TdC est une page à la base…donc je ne comprends pas qu’il veuille un node.tpl et pas une page.tpl…du coté des suggestions il faut un fichier template.php mais je ne comprends pas trop le systeme…
EDIT : pour test,avec page-node-2.tpl.php ca marche mais c’est pas super logique…
Drupal 6.xx - 2 sites chez OVH (pro) mutualisé, 6 chez AlwaysData (Pack10go)
/////////////
www.graphisme-libre.info
aiphes
1045
Ah oui c’est vrai on travaille sur page.tpl.php qui n’as pas accès à node donc ne peut connaitre le type. J’ai complètement oublié il suffit de mettre cette snippet dans template.php :
<?phpfunction phptemplate_preprocess(&$vars, $hook)
{
switch($hook)
{
case 'page' :
if (arg(0) == 'node')
{
$vars['template_files'][] = 'page-' . $vars['node']->type;
}
break;
}
}
?>
Ce qui va vous donner page-page_lycee.tpl.php
takeova
356
parfait , ça à l’air de bien fonctionner…je peux faire d’autres tpl speciaux avec ce code ? en creant de nouveau TdC…
merci pour ton aide, la 1ere piste etait la meilleure : les template suggestions.
Drupal 6.xx - 2 sites chez OVH (pro) mutualisé, 6 chez AlwaysData (Pack10go)
/////////////
www.graphisme-libre.info
aiphes
1045
Avec ce code chaque node type peut avoir son tpl.php personnalisée, par exemple le node type page_college aura aussi page-page_college.tpl.php et si ce tpl.php n’existe pas il utilisera page.tpl.php
takeova
356