Pour nos derniers projets Joomla, j'ai étendu le composant com_content avec des champs personnalisés à l'aide de la documentation suivante:
https://docs.joomla.org/Adding_custom_fields_to_core_components_using_a_plugin
Cependant, je n'ai pas utilisé params
comme nom de champ, mais attributes
, comme ceci:
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fields name="attribs" >
<fieldset name="site1" label="Client Name">
<field name.....
Dans le modèle, je peux accéder facilement à ces champs:
$attr = json_decode($article->attribs);
Tout fonctionne bien jusqu'à présent.
Mais, cette méthode a un gros inconvénient. Si j'utilise par exemple d'autres plugins/composants, des galeries, qui nécessitent un shortcode dans l'éditeur (tel que: {gallery id="2"}
), qui est remplacé par la galerie lors du chargement de la page, cela ne fonctionne pas.
La page montre simplement le shortcode {gallery id="2"}
, car le plugin de contenu de la galerie n’analyse pas le champ personnalisé (aucun plugin ne le fait ...)
Comment puis-je activer l'analyse par content-plugins pour ces champs?
Avez-vous essayé de faire écho au contenu de attrbs à travers le JHTML content.prepare
?
par exemple.:
$attrbs = json_decode($this->item->attribs);
echo JHtml::_('content.prepare',$attrbs->myfield);