web-dev-qa-db-fra.com

Plusieurs modèles pour la même vue d'un composant personnalisé

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?

1
dolma33

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.

2
dolma33