Je suis assez nouveau dans la création de plugins et j'ai déjà eu un problème. J'essaie d'ajouter des champs à la création d'article côté administrateur via un plugin, mais rien ne s'affiche dans $ params, ce qui signifie que le chargement est correct et qu'un dé ('tester ...') dans les méthodes du plugin ne se déclenche pas. J'espérais avoir une nouvelle paire d'yeux pour voir ce que je faisais mal.
articlepublishemail/articlepublishemail.php:
<?php
defined( '_JEXEC' ) or die;
class plgContentArticlepublishemail extends JPlugin
{
protected $autoloadLanguage = true;
function __construct(& $subject, $config)
{
parent::__construct($subject,$config);
$this->loadLanguage();
}
function onContentPrepareForm($form,$data)
{
...
switch($option)
{
case 'com_content' :
if ($app->isAdmin())
{
JForm::addFormPath(__DIR__ . '/forms');
$form->loadFile('content',false);
}
return true;
}
return true
}
}
articlepublishemail/articlepublishemail.xml:
<?xml version="1.0" encoding="utf-8"?>
...
<files>
<folder>language</folder>
<folder>forms</folder>
<filename plugin="articlepublishemail">articlepublishemail.php</filename>
</files>
<languages>
<language tag="en-GB">en-GB.plg_content_articlepublishemail.ini</language>
</languages>
<config>
<fields name="params">
</fields>
</config>
articlepublishemail/forms/content.xml:
<?xml version="1.0" encoding="utf-8"?>
<form>
<fields name="attribs">
<fieldset name="articlepublishemail" label="PLG_CONTENT_ARTICLEPUBLISHEMAIL_FIELDSET_LABEL">
<field
name="email_send"
type="radio"
default="0"
label="PLG_CONTENT_ARTICLEPUBLISHEMAIL_EMAIL_SEND_LABEL">
<option value="0">JOFF</option>
<option value="1">JON</option>
</field>
<field
name="email_sendto"
type="text"
label="PLG_CONTENT_ARTICLEPUBLISHEMAIL_EMAIL_SENDTO_LABEL"
/>
</fieldset>
</fields>
</form>
J'ai changé plusieurs fois le nom des champs et des champs en essayant d'obtenir quelque chose de positif et rien. Je ne comprends pas tout à fait comment la structure de répertoires d'un plugin est censée fonctionner, alors ça pourrait être ça ... De toute façon, toute aide serait la bienvenue.
Les plugins, comme les autres extensions Joomla, doivent être activé pour que le code fonctionne et que le code soit exécuté.
Assurez-vous de l'activer en accédant au gestionnaire de plug-ins via le backend de Joomla.