Dans mon composant personnalisé, j'aimerais avoir plusieurs modèles légèrement différents pour la même vue.
Quelque chose comme
com_things/
...
- views/
- thing/
...
- things/
- tmpl/
tabs.php
accordion.php
default.php
default.xml
view.html.php
Dans cet exemple, l'idée est que default
template, accordion
template et tabs
template utilisent tous les données préparées dans views/things/view.html.php
, en l’affichant de manière légèrement différente.
Les données doivent être affichées dans le bon modèle en fonction de l’URL à partir de laquelle elles ont été accédées, par exemple index.php?option=com_things&view=things&tmpl=tabs
.
Cela fait un moment que je joue avec cela et que je recherche de la documentation, mais je ne parviens pas à mettre en œuvre cette fonctionnalité. Ne devrait pas suffire à créer le tabs.php
et accordion.php
fichier, ou est-ce que je manque quelque chose?
J'ai trouvé le problème, je l'ajoute ici pour les références futures.
Oui, il suffit d'ajouter les modèles supplémentaires dans le répertoire com_things/views/things/tmpl/
.
Le problème dans la question était que j'utilisais la mauvaise URL:
cA devrait etre
index.php?option=com_things&view=things&layout=tabs
au lieu de
index.php?option=com_things&view=things&tmpl=tabs
.