Je suis en train d'essayer de développer un module dont la sortie doit être orientable d'une manière très similaire à celle du module Views, mais je n'arrive pas à le faire fonctionner. J'ai suivi en utilisant le Thème couche (http://drupal.org/node/933976) et recherché les forums drupal en vain.Drupal 7 Theming dynamique
Le crochet à thème est défini dans hook_theme comme
'beerxml_hop' => array (
'template' => 'beerxml-hop',
'render element' => 'beerxml',
'pattern' => 'beerxml_hop__',
'path' => drupal_get_path('module', 'beerxml_formatter') . '/templates',
)
Et j'invoque le crochet à thème par
print render($element);
dans node--beer.tpl.php
(la bière est le nom du type de contenu) où $element
est un tableau render aveC#theme
array(3) {
[0] => string(19) "beerxml_hop__simcoe"
[1] => string(11) "beerxml_hop"
[2] => string(15) "beerxml_unknown"
}
Le modèle qui est invoqué ed est beerxml_hop
, et non beerxml_hop__simcoe
comme je l'aurais espéré. Les deux beerxml-hop--simcoe.tpl.php
et beerxml-unknown.tpl.php
existe dans le même répertoire que beerxml-hop.tpl.php
et beerxml-unknown.tpl.php
est utilisé ailleurs dans la sortie.
Qu'est-ce qui me manque? :)
Oui, je pensais aussi qu'il y avait quelque chose à propos d'une expression régulière dans le motif. Est-ce une syntaxe d'expression régulière PHP normale? Cependant, je ne peux pas obtenir l'exemple ci-dessus pour fonctionner. Et en regardant le code source du module Views, il n'y a aucun signe d'expressions régulières dans leurs hooks de thème. Voici un exemple des hooks du module Views: '$ hooks ['views_exposed_form'] = $ base + tableau ( 'template' => 'views-exposed-form', 'pattern' => 'views_exposed_form__', 'Render element' => 'form', ); ' – Thinner