web-dev-qa-db-fra.com

JLayout: remplacement de la présentation joomla.edit.params uniquement pour com_content

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?

2
FFrewin

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éé.

JLayout Liens utiles:

  1. Présentation de JLayout au magazine Joomla
  2. Partage de présentations entre vues ou extensions - Didacticiel
  3. Joomla: Layout API
3
FFrewin