it-swarm.com.de

Ich ändere den Listenwert im Modul, aber er ändert sich nicht in den Parametern

Ich habe eine Liste Joomla! Formularfeld in meinem XML, es funktioniert im Backend, ich kann das Dropdown ändern. Beim Speichern bleibt der Gegenstand gleich.

Wenn ich print_r($params)

Der Wert wird als "true" und nicht als Wert ausgegeben manchmal erscheint er als 1, egal welche Option ich wähle.

Wenn ich PHP ändere, erhalte ich a

Was dazu führen kann, wenn die Option ausgewählt ist, wird richtig angezeigt, wenn ich sie im Backend ansehe.

XML

        <field name="list"
               type="list"
               default=""
               label="MOD_KOY_YOUR_LOGO_LIST"
               description="">
            <option value="0">MOD_MY_MOD_OPTION_LOGO_ONLY</option>
            <option value="1">MOD_MY_MOD_OPTION_TEXT_ONLY</option>
            <option value="2">MOD_MY_MOD_OPTION_TEXT_AND_LOGO</option>
        </field>

Könnte es sein, dass meine Verwendung von mehreren showon= verursachen das Problem? Alle scheinen korrekt zu funktionieren, aber einige sind verschachtelt. Mit verschachtelt meine ich, wenn a = 1, dann zeige b. Wenn b = 1, dann zeige c.

2
Eoin

Ich stellte fest, dass ich sicherstellen musste, dass meine Ausgabe eine Zahl im Gegensatz zu true/false oder 0/1 etc (boolean) war.

So habe ich es eingestellt als intval

$list= intval($params['list']);

Dann kann ich in meiner if-Anweisung $list Aufrufen und es wird korrekt ausgeführt.

Hoffe, das hilft jemand anderem in Zukunft, wenn es einen besseren Weg gibt, bitte kommentieren.

1
Eoin