web-dev-qa-db-fra.com

Créer un plugin pour éditer le formulaire de catégorie

j'essaie d'éditer le formulaire de catégorie de joomla avec un plugin en suivant ce guide https://docs.joomla.org/Creating_a_profile_plugin

fichier xml

<extension version="3.1" type="plugin" group="category">
    <name>plg_img_categories</name>     
    <files>
        <filename plugin="categories">categoryimg.php</filename>
        <folder>forms</folder>
    </files>

</extension>

fichier php

<?php
defined( '_JEXEC' ) or die;

class plgContentCategoryCategories extends JPlugin {
    function onContentPrepareForm($form, $data) {
        echo "Pippo!";
        var_dump($form->getName());
    }
 }
?>

On m'attendait à voir var_dump "$ form-> getName ()" ou "Pippo!" à l'intérieur du formulaire de catégorie administrateur, mais ce n'est pas le cas.

Une idée pourquoi?

2
Umberto

Il n'y a pas de groupe de plugins comme category, vous devriez utiliser content dans ce cas.

Joomla! s'appuie fortement sur les conventions de nommage:

  • Le nom de la classe doit être plg[GROUP_NAME][PLUGIN_ATTR_VALUE], entraînant plgContentCategoryImg
  • Le nom du plugin en XML doit être plg_[GROUP_NAME]_[PLUGIN_ATTR_VALUE], résultant en plg_content_categoryimg.
  • Le nom du répertoire du plugin doit être [PLUGIN_ATTR_VALUE], entraînant categoryimg

Ainsi, vos fichiers ressembleraient à ceci:

categoryimg.php

<?php
defined( '_JEXEC' ) or die;

class plgContentCategoryImg extends JPlugin {
    function onContentPrepareForm($form, $data) {
        echo "Pippo!";
        var_dump($form->getName());
    }
 }
?>

categoryimg.xml

<extension version="3.1" type="plugin" group="content">
    <name>plg_content_categoryimg</name>
    <files>
        <filename plugin="categoryimg">categoryimg.php</filename>
    </files>
</extension>

Et n'oubliez pas, le nom du répertoire doit être categoryimg.

Résultat comme je l'ai testé:

enter image description here

1
Rene Korss