it-swarm.com.de

Erstellen Sie ein Plugin, um das Kategorieformular zu bearbeiten

ich versuche, das Kategorieformular von Joomla mit einem Plugin zu bearbeiten, das dieser Anleitung folgt https://docs.joomla.org/Creating_a_profile_plugin

xML-Datei

<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>

pHP-Datei

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

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

Es wurde erwartet, dass var_dump "$ form-> getName ()" oder "Pippo!" In der Administratorkategorie ist dies jedoch nicht der Fall.

Irgendeine Idee warum?

2
Umberto

Es gibt keine Plugin-Gruppe wie category, Sie sollten in diesem Fall content verwenden.

Joomla! stützt sich stark auf Namenskonventionen:

  • Der Klassenname sollte plg[GROUP_NAME][PLUGIN_ATTR_VALUE] Sein, was zu plgContentCategoryImg führt.
  • Der Name des Plugins in XML sollte plg_[GROUP_NAME]_[PLUGIN_ATTR_VALUE] Sein, was zu plg_content_categoryimg Führt.
  • Der Name des Plugin-Verzeichnisses muss [PLUGIN_ATTR_VALUE] Sein, was zu categoryimg führt.

Ihre Dateien würden also so aussehen:

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>

Und vergessen Sie nicht, dass der Verzeichnisname categoryimg sein muss.

Fazit wie ich es getestet habe:

enter image description here

1
Rene Korss