Je peux créer des remplacements ou des mises en page alternatives dans template/html/composant/mais comment puis-je étendre la requête en fonction des paramètres de ma nouvelle mise en page? Comment puis-je étendre le modèle sans casser le noyau?
Nous allons être un peu plus approfondis pour que les gens puissent lire ceci et comprendre ce que vous voulez dire par "contournement" s'ils ont un problème similaire.
Dans votre modèle, vous devriez avoir un dossier HTML
Pour créer une nouvelle vue pour un composant (c'est le même principe pour les modules, j'utiliserai COM_CONTENT dans cet exemple)
Dans ce cas, disons que nous voulons créer un remplacement pour un article, une archive et une catégorie - Copiez le contenu (fichiers de vue php) de (root)/components/com_content/views/(view)/tmpl dans le (modèle)/html/com_content/(views) - Vous n'avez PAS besoin du dossier tmpl - Les fichiers php sont la seule chose que vous devez copier pour écraser une vue.
Donc, notre structure de dossier du modèle sera
Je suis sûr que vous savez mais ceci, mais juste pour clarifier
default.php serait le fichier de modèle principal
default_items.php serait un bloc du modèle default.php, probablement une vue distincte telle qu'une grille
Bien joué! Vous avez maintenant un remplacement que vous pouvez modifier sans vous soucier de la rupture d’une mise à jour et vous ajoutez le nouveau code que vous voulez. Cependant, vous devrez peut-être encore apporter quelques modifications mineures à view.html.php, qui génère généralement les variables.
C’est toutefois la solution la plus simple mais la plus simple. Cependant, pour modifier le modèle ou le contrôleur, vous avez besoin de l’aide d’un plug-in tiers.
Plutôt que de copier/coller mot pour mot, je vais simplement vous renvoyer au court article qui devrait vous faire avancer.
http://docs.joomla.org/How_to_override_the_component_mvc_from_the_Joomla!_core