Submitted by aiphes on
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
Si tu veux faire une mise en
Permalien Soumis par fishclic le 23 Novembre, 2009 - 10:22
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 :)
je pense que ta 1ere
Permalien Soumis par aiphes le 23 Novembre, 2009 - 12:35
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
je viens de lire l'article
Permalien Soumis par aiphes le 23 Novembre, 2009 - 15:14
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 ?
back in drupal j'ai créé
Permalien Soumis par aiphes le 8 Décembre, 2009 - 12:26
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 ?
Ça devrai plutôt être
Permalien Soumis par takeova le 8 Décembre, 2009 - 13:28
Ça devrai plutôt être page-page-lycee.tpl.php, mais tu peut toujours vérifier avec Devel
Bonjour. Le module themekey
Permalien Soumis par nyot559 le 8 Décembre, 2009 - 13:35
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?)
j'ai renommer mon fichier en
Permalien Soumis par aiphes le 8 Décembre, 2009 - 14:35
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....
Enfaite je pense que c'est
Permalien Soumis par takeova le 8 Décembre, 2009 - 14:39
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.
pourtant voila ce que dit
Permalien Soumis par aiphes le 8 Décembre, 2009 - 15:23
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.php
Template 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...
Ah oui c'est vrai on
Permalien Soumis par takeova le 8 Décembre, 2009 - 15:34
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 :
<?php
function 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
parfait , ça à l'air de
Permalien Soumis par aiphes le 8 Décembre, 2009 - 16:08
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.
Avec ce code chaque node
Permalien Soumis par takeova le 8 Décembre, 2009 - 16:18
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