Bonjour à tous,
Je me fait la main en ce moment sur Drupal 7 pour voir un peu ce qu’il a dans le ventre.
Je rencontre mon premier problème pour faire une mise en page personnalisée :
J’ai copié le thème de base (Bartik) dans sites/all/themes.
Si je modifie par exemple le contenu de node.tpl.php, les modifications sont bien prises en compte.
Par contre si je copie ce fichier et le renomme node-[type de contenu].tpl.php, ça ne fonctionne pas.
Idem pour le page.tpl.php, où là j’ai ajouté ce snippet trouvé dans la doc (sensée être pour D6 et D7)
function my_theme_preprocess_page(&$variables) {
if ($variables['node']->type != "") {
$variables['template_files'][] = "page-node-" . $variables['node']->type;
}
}pour pouvoir utiliser des templates de type page-node-[type de contenu].tpl.php.
Bien sûr je vide le cache entre chaque opération pour vérifier.
Après avoir tourné ça dans tous les sens, je ne vois pas trop d’où cela peut venir : bug dans D7 (je n’ai rien trouvé de tel dans les sujets du forum de Drupal.org), où juste une subtilité de cette nouvelle mouture de Drupal que je n’ai pas saisie ?
Merci de vos idées qui pourraient me mettre sur la voie !
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

(n.b. : le snippet a bien été ajouté dans le fichier template.php)
8corey
96
Hello
Je n’ai pas la moindre idée de comment fonctionne D7 coté theming…
A tout hasard, à tu essayés de GARDER le node.tpl.php, dans le même dossier ou tu crée ton node-typedecontenu.tpl.php ?
Parfois Drupal ne trouve pas le chemin d’une suggestion de template si son template «père» n’existe pas dans le même dossier.
http://formation.ideia.fr/formation/drupal-la-carte | http://twitter.com/nyl_auster
nyl auster
838
Merci de ta réponse,
J’avais bien fait tout comme il fallait (et testé la manipulation identique sous D6, qui fonctionnait), en fait j’ai trouvé la solution dans ce post :
Il faut utiliser un double tiret sous D7, soit node - -[type de contenu].tpl.php
Effectivement, je ne pouvais pas le deviner.
8corey
96
tiens c’est bête on ne peut pas accepter sa propre réponse pour passer le sujet en [RESOLU]
J’accepte le précédent du coup, même s’il n’apporte pas la solution, ou pas ?
8corey
96