it-swarm.com.de

Erstellen eines Moduls und Angeben von Optionen für Konfigurationsparameter

in der Dokumentation zum Erstellen eines Moduls finden Sie alles, aber es geht nicht darum, Ihrem Modul Parameter zuzuweisen.

Beispiel die Farbe des Hintergrunds oder die Größe was auch immer.

Ich möchte wissen, ob es eine Dokumentation zum Erstellen eines Formulars gibt, das diese Parameter vom Administrator nach der Installation des Moduls angibt.

Mein Modul ist im Grunde genommen vollständig, aber ich möchte, dass der Benutzer es anpassen kann.

Ich weiß, dass meine Frage keinen Code enthält. Aber mir wurde gesagt, ich solle hierher kommen, wenn ich Fragen zu Joomla habe, da ich ziemlich neu in diesem Bereich bin.

Vielen Dank.

2
engjell bislimi

Willkommen bei JSE.

Ich bin nicht sicher, auf welche Dokumentation Sie sich beziehen, aber die Joomla-Dokumente zeigen Ihnen, wie Sie Ihrem Modul Parameter hinzufügen können:

https://docs.joomla.org/J3.x:Creating_a_simple_module/Adding_Form_Fields

Also ein einfaches Beispiel:

mod_something.xml

<config>
  <fields name="params">
    <fieldset name="basic">
        <field name="size" type="text" default="20px" label="Size" />
        <field name="background" type="color" default="#eee" format="hex" label="Background" />
    </fieldset>
    <fieldset name="advanced">
        <field name="param3" type="text" default="something" label="Param 3" />
        <field name="param4" type="text" default="something" label="Param 4" />
    </fieldset>
  </fields>
</config>

Hinweis; Ich habe ein weiteres fieldset hinzugefügt, das Ihnen zeigt, wie Sie Ihre Parameter unter verschiedenen Registerkarten trennen können.

Zugriff auf die Parameter (Ansichten):

$size = $params->get('size');
$background = $params->get('background');

$param3 = $params->get('param3');
$param4 = $params->get('param4');

Zugriff auf die Parameter (Helper):

class ModSomethingHelper
{
    private $params = null;

    public function __construct()
    {
        $this->params = $this->getParams();
    }

    public function getParams()
    {
        $module = JModuleHelper::getModule('mod_something');
        $moduleParams = new JRegistry;

        if ($module->params !== '')
        {
            $moduleParams->loadString($module->params);
        }

        return $moduleParams;
    }

    // Non-Static function example
    public function yourFunction()
    {
        $this->params->get('size');
    }

    // Static function example
    public static function yourStaticFunction()
    {
        $helper = new ModSomethingHelper();

        $size = $helper->getParams()->get('size');
    }
}
2
Lodder