Je cherche un moyen de remplacer la disposition joomla.edit.params uniquement pour le contenu com_content, qui est restitué avec le: JLayoutHelper::render('joomla.edit.params', $this)
sur le:administrator/components/com_content/view/article/tmpl/edit.php
, vers la ligne 135.
Comment utiliser une mise en page différente uniquement pour le composant com_content?
Il est possible de créer un remplacement pour la présentation des paramètres d'édition uniquement pour le composant com_content.
En général, le système JLayout recherchera les remplacements dans les dossiers suivants, avec l'ordre de priorité comme indiqué:
1. templates/mytemplate/html/layouts/com_mycomponent
2. components/com_mycomponent/layouts
3. templates/mytemplate/html/layouts
4. layouts
Il y a une présentation complète du nouveau JLayout ici .
Ci-dessous, je décrirai comment j'ai effectué cette substitution, car je devais également remplacer le modèle edit.php pour com_content.
Vous devez d’abord créer un nouveau dossier pour les substitutions de disposition personnalisées. Je choisirais de créer un dossier nommé "overrides" et de le mettre dans:
administrator/templates/isis/html/layouts/overrides
La méthode JLayoutHelper:render
Recherchera d'abord dans ce dossier lors de la recherche de la présentation joomla.edit.params
. Pour le charger, vous devrez conserver la même structure dans le dossier des remplacements. Le fichier params.php devrait donc être placé comme suit: /overrides/joomla/edit/params.php
Ensuite, vous devrez créer un remplacement pour le fichier de modèle edit.php de la vue d'article, à partir duquel vous appellerez la présentation personnalisée.
Dans le dossier html de isis temlpate, créez un dossier pour les substitutions de com_content, nommez-le "com_content", puis un dossier pour les fichiers de modèle de la vue de l'article, nommé "article". Copiez le fichier edit.php à partir du composant et déposez-le dans le dossier de l'article.
Maintenant, dans le fichier edit.php, vous pouvez ajuster la méthode JLayoutHelper :: render et lui transmettre un nouveau chemin de base pour rechercher la mise en page alternative comme ci-dessous:
<?php echo JLayoutHelper::render('joomla.edit.params', $this, $basePath = JPATH_ADMINISTRATOR .'/templates/isis/html/layouts/overrides'); ?>
Cela recherchera une disposition params.php dans le dossier: administrator/templates/isis/html/layouts/overrides/joomla/edit
.
Vous pouvez simplifier les choses si vous placez simplement le paramètre params.php dans le dossier des substitutions et appelez-le comme suit:
<?php echo JLayoutHelper::render('params', $this, $basePath = JPATH_ADMINISTRATOR .'/templates/isis/html/layouts/overrides'); ?>
Enfin, n'oubliez pas d'ajouter également des fichiers index.html dans tout dossier nouvellement créé.