web-dev-qa-db-fra.com

Nom du composant différent du nom de la vue par défaut, comment afficher la vue par défaut?

Mon composant s'appelle "com_xsomething" (pour le rendre distinct).

Ma vue principale s'appelle "Quelque chose".

Je veux nommer ma vue "quelque chose" plutôt que "x quelque chose".

Comment puis-je écrire la fonction display() du contrôleur principal pour afficher la vue "Quelque chose" sans que Joomla ne recherche "xSomething"?

J'ai essayé le code ci-dessous mais il a lamentablement échoué:

class xSomethingController extends JControllerLegacy{
    function display(){
        $viewsomething = $this->getView('Something');
        $viewsomething->display();
    }
}

Erreur:

500 Vue introuvable [nom, type, préfixe]: quelque chose, xsomethingView

Je ne peux pas nommer mon point de vue "xquelque chose" car cela n'a aucun sens dans le contexte de mon composant.

2
user3804927

Répondu à ma propre question après avoir examiné la documentation de l'API et joué avec le code.

J'ai pu afficher une vue différente en spécifiant le type de vue et les préfixes de classe de vue:

class xSomethingController extends JControllerLegacy{
    function display(){
        $viewsomething = $this->getView('Something', 'html', 'xSomethingView');
        $viewsomething->display();
    }
}
2
user3804927