Submitted by laurentf on
Bonjour,
J'ai conçu un module qui crée des contenus personnalisés. Pour ces contenus j'ai créé des templates
node-projet.tpl.php
node-action.tpl.php
etc....
ces templates fonctionnent parfaitement lorsqu'ils sont dans le dossier du thème.
Quelles fonctions utiliser pour les placer dans le dossier du module...
j'ai tester beaucoup de choses mais la gestion des templates dans les thèmes est assez complexe..
Auriez vous une idée ?
Merci d'avance.
laurentf
Salut, Je te renvois sur une
Permalien Soumis par Fanyalla le 24 Août, 2010 - 16:29
Salut,
Je te renvois sur une page où c'est très bien expliqué :
http://juliendubois.fr/drupal_blog/creer-des-templates-fichier-tpl-php-p...
Merci
Permalien Soumis par laurentf le 14 Septembre, 2010 - 11:29
Merci fanyalla,
Malheureusement ça n'éclaire pas ma lanterne....
Les thèmes c'est vraiment l'usine à gaz...en pire..
Mon problème est TRES simple.
Mon module (monitorproject) permet de créer plusieurs type de contenu :
projet,
demande,
action,
reunion,
pour chaque type de contenu j'ai un template personnalisé (contenant, en autre, des appels à des views).
je veux pouvoir placer mes templates dans le dossier de mon module. Je pense que c'est possible. J'ai donc utilisé le hook_theme de la façon suivante :
function monitorproject_theme() {
return array(
'projet' => array(
'template' => 'node-projet',
'arguments' => array('node' => NULL),
),
'demande' => array(
'template' => 'node-demande',
'arguments' => array('node' => NULL),
),
);
}
et bien sur rien..que dalle, nada...
Je me gave de docs et autres pseudo explications sur le hook_theme et autres fonctions du même genre mais je pige de moins en moins...
Une âme charitable pourrez venir à mon secours...je craque...
Merci d'avance
Laurentf
hello En fait il faut que
Permalien Soumis par nyl auster le 16 Septembre, 2010 - 11:29
hello En fait il faut que drupal ajoute le chemin de ton module en tant que chemin où il peut aller chercher des templates. Par défaut, drupal ne va pas voir partout. Donc je pense qu'il faut passer par un "hook_theme_registry_alter" qui te permet d'ajouter ton module comme chemin possible pour chercher des suggestions de template de node.
Si tu active le module "devel" et que tu vas à l'url "devel/theme/registry" tu pourras voir les informations dont dispose drupal pour trouver les templates.
Voici le code que j'ai utilisé pour inclure une sugesstion de page.tpl.php dans mon module