Submitted by Zen on
Bonjour,
J'ai un problème avec la surcharge de template pour les pages.
Je veux créer deux template de pages dans mon thème.
Le template général page.tpl.php et un pour la page de contact page-contact.tpl.php.
Ce dernier n'est pas pris en compte. Drupal n'en tient tout simplement pas compte et il utilise le page.tpl.php par défaut. Alors que page-node-1.tpl.php est pris en compte et fonctionne correctement.
Apparemment, il s'agit d'un problème de prise en compte des alias.
Auriez-vous une idée d'où cela provient et comment régler le problème ?
Merci.
Zen
Je m'auto-commente avec la
Permalien Soumis par Zen le 18 Novembre, 2010 - 17:26
Je m'auto-commente avec la solution pour le prochain. Voici une solution :
THEME étant le nom du thème.
Salut Zen, Je pense que
Permalien Soumis par horkets le 24 Novembre, 2010 - 17:17
Salut Zen,
Je pense que cette solution est celle dont j'ai besoin aussi, seulement, comment utilise tu cette fonction ?
Dans quelle fichier doit on ajouter cette fonction ?
Est ce que le simple fait de déclarer cette fonction permet d'utiliser plusiquers page-nom_type.tpl.php différentes ?
Merci d'avance pour ta reponse :)
H
C’est a placer dans le
Permalien Soumis par haza le 24 Novembre, 2010 - 17:43
C'est a placer dans le fichier template.php du theme.
Et oui, ca permet d'utiliser page-[pagename].tpl.php :)
Salut, Je l’ai utilisé dans
Permalien Soumis par Zen le 24 Novembre, 2010 - 17:54
Salut,
Je l'ai utilisé dans un module que j'ai crée.
Il te suffit de créer un module.
Si tu ne sais pas comment faire, je te conseille de trouver un tuto sur internet.
Par exemple: http://www.journaldunet.com/developpeur/php/drupal-creer-un-module/
Copier/coller la fonction dans ton fichier first_module.module.
Et n'oublie pas de mettre dans la signature de fonction le nom du thème à surcharger.
Ce n'est pas bien compliqué.
Pour ta deuxième question, ça dépend ce que tu veux faire. Tu peux par exemple changer $node->path par $node->type, si tu veux surcharger par type de noeud (et non par URL). Tu peux toujours utiliser la fonction dpr($node); pour voir les alternatives qui s'offre à toi.
J'espère que cela t'auras aidé.
Bonne soirée et bon courage.
Il te suffit de créer un
Permalien Soumis par haza le 24 Novembre, 2010 - 18:05
Il te suffit de créer un module. Si tu ne sais pas comment faire, je te conseille de trouver un tuto sur internet. Par exemple : http://www.journaldunet.com/developpeur/php/drupal-creer-un-module/
Ouais, enfin ce "truc", faut pas le lire. C'est juste du gros n'importe quoi...
Tes paroles sont gorgées de
Permalien Soumis par Zen le 24 Novembre, 2010 - 18:23
Tes paroles sont gorgées de vérité ;)
Cela m’a bien aidé en
Permalien Soumis par horkets le 25 Novembre, 2010 - 23:48
Cela m'a bien aidé en effet !
Merci,
H
Thanks pour la mise en forme.
Permalien Soumis par Zen le 24 Novembre, 2010 - 18:26
Thanks pour la mise en forme.
Salut Haza, J’utilise le
Permalien Soumis par horkets le 25 Novembre, 2010 - 18:34
Salut Haza,
J'utilise le theme bluemarine. Je constate que le fichier template.php n'existe pas dans ce theme là ... ?
J'ai tenté de déplacer le fichier du theme garland dans le dossier bluemarine, mais cela ne fonctionne pas -> white screen lorsque je rafraichis la page :/
Y a t il une solution ?
Merci d'avance :)
H
Créer un fichier template.php
Permalien Soumis par haza le 25 Novembre, 2010 - 19:10
Créer un fichier template.php vide par exemple ? :-)
(enfin, tu mets ton code dedans)
Héhé, c’est ce que j’ai tenté
Permalien Soumis par horkets le 26 Novembre, 2010 - 11:17
Héhé, c'est ce que j'ai tenté entre temps et cela fonctionne bien :)
Merci !
H
UPDATE : Dans le cas concret suivant : j’ai une view de nodes de type news (dans les parametres j’indique que chaque titre est lié à son node). J’ai également un template page-news.tpl.php
Lorsque je clique dans la liste sur le titre de la news que je veux visualiser, j’affiche ma news formatée avec le template page.tpl.php :(
Comment devrais je procéder pour forcer l’utilisation du template page-news.tpl.php lorsque je clique sur le titre de la news ?
Merci d’avance :)
H
je m’auto commente. J’ai
Permalien Soumis par horkets le 26 Novembre, 2010 - 16:06
je m'auto commente.
J'ai finalement gardé mon template d'origine. Je l'ai simplement completé avec des tests en php sur les urls.
Si dans mon path, je trouve la chaine 'news' alors j'affiche une certaine banniere, et/ou certaines régions.
plus besoins de templates différents (dans mon cas du moins ^^).
:)
H