je fais un plugin de contenu simple en utilisant les documents joomla 3.
Cependant, je veux que plus d'un onglet apparaisse.
voici mes fichiers principaux. Le plugin est installé et s’exécute avec succès, mais un seul onglet apparaîtra jamais.
extras.php
// no direct access
defined ( '_JEXEC' ) or die ( 'Restricted access' );
class plgContentExtras extends JPlugin {
// the language file would have to go into languages folder
protected $autoloadLanguage = true;
function onContentPrepareForm($form, $data) {
$app = JFactory::getApplication();
$option = $app->input->get('option');
switch($option) {
case 'com_content':
if ($app->isAdmin()) {
JForm::addFormPath(__DIR__ . '/forms');
$form->loadFile('extras', true);
}
return true;
}
return true;
}
}
formulaires/extras.xml
<?xml version="1.0" encoding="UTF-8"?>
<form>
<fields name="params">
<fieldset name="params" label="Map" >
<field
name="mapinfo"
type="text"
label="Map Info"
/>
</fieldset>
<fieldset name="params" label="eBlast" >
<field
name="eblastinfo"
type="text"
label="Eblast Info"
/>
</fieldset>
</fields>
</form>
Merci à tous à l'avance pour votre aide :)
ps: je suis un novice à cela.
J'ai également essayé d'ajouter un $form->loadFile('eblast', true);
supplémentaire au fichier extras.php, puis de créer un fichier supplémentaire appelé eblast.xml dans le dossier forms /, mais cela n'a pas fonctionné non plus.
En effet, vous avez attribué le même nom aux deux <fieldset>
Mots clés. Chacun doit avoir un nom différent, par exemple:
<fieldset name="map" label="Map">
<field
name="mapinfo"
type="text"
label="Map Info"
/>
</fieldset>
<fieldset name="eblast" label="eBlast">
<field
name="eblastinfo"
type="text"
label="Eblast Info"
/>
</fieldset>
Vous verrez que j'ai utilisé name="map"
et name="eblast"
.
Pour accéder aux paramètres, vous pouvez simplement utiliser les éléments suivants:
$this->params->get('mapinfo');
$this->params->get('eblastinfo');
J'espère que cela t'aides