web-dev-qa-db-fra.com

Formulaire personnalisé Joomla 3 Flexicontent basé sur jForm

Après des heures passées à googler et à expérimenter, j'ai abandonné :(

Je dois ajouter un formulaire à mes articles dans Joomla 3, qui collecte des données à partir des champs supplémentaires de l'article et les envoie par courrier électronique. Les articles sont gérés par Flexicontent. Flexicontent prend le dessus sur le gestionnaire de contenu standard. J'ai donc essayé de créer un plugin à l'intérieur de plugins 'content' (plus tard, j'ai aussi essayé 'flexicontent'). En se basant sur des articles: http://docs.joomla.org/Adding_custom_fields_to_the_article_componenthttp://betweenbrain.com/notes/72-fun-with-joomla-forms - https://github.com/joomla/joomla-cms/blob/master/plugins/user/profile/profile.php#L168

qui remplacent tous un type de formulaire (utilisateur, contenu ou contact).

J'ai créé mon dossier de plugins, mon fichier php, mon plugin (fichier xml) et des fichiers XML avec des champs de formulaire. Ensuite, dans mon fichier php, j'ai écrit onContentPrepareForm (), comme indiqué. Cependant, lorsque j'ai coché la variable "$ this" dans mon modèle flexiconent, il n'y avait aucun signe d'aucune forme. Comment dois-je placer ce formulaire dans mon modèle?

J'aurais pu utiliser n'importe quel plugin tiers, mais ensuite, comment puis-je passer des variables à partir de champs personnalisés Flexicontent?

Le plugin est installé et activé

2
alekwisnia

Les deux articles cités font référence au gestionnaire de contenu de Joomla.

Même si Flexicontent est étendu, onContentPrepareForm n'est ni appelé ni restitué dans votre configuration Flexicontent.

Je suggère de tester le plugin dans un Joomla simple avec un article simple. Une fois que cela fonctionne comme prévu. Essayez de l'activer dans Flexicontent.

Concernant "$ this", il fait toujours référence à l'instance d'objet en cours. Si vous êtes dans le contexte du plugin, c'est le plugin. Si vous êtes dans le contexte du modèle, c'est le modèle. Notez que onContentPrepareForm restitue et renvoie une chaîne, cette chaîne est simplement concaténée dans un modèle. Les champs personnalisés ne sont gérés que dans le plugin.

4
Anibal