it-swarm.com.de

Menüanforderungsvariable funktioniert nicht

Ich habe im Menü für meine Komponente eine Anforderungsvariable hinzugefügt, diese funktioniert jedoch nicht. Es folgen zwei Möglichkeiten, wie ich es versucht habe:

  1. Anforderungsvariable: Überprüfen Sie das für die Ausgabe angehängte Bild. Der Wert wird im Admin-Menü gespeichert, kann jedoch nicht im Frontend abgerufen werden.

    • Bild

    enter image description here

    • default.xml :

      <fields name="request"> <fieldset name="request"> <field name="gid" type="sql" label="FIELDLABEL" description="FIELDDESC" query="SELECT * FROM #__component_list" value_field="name" key_field="id"> <option value="0">Please select</option> </field> </fieldset> </fields>

    • models/filename.php: $gid gibt null zurück

      $gid = JFactory::getApplication()->input->get('gid');

  2. Params-Methode: Überprüfen Sie das angehängte Bild. Der Wert wird im Admin-Menü gespeichert und kann über den folgenden Code auf die Variable im Modell zugreifen. Im Admin-Menü ist der gespeicherte Wert im Feld jedoch nicht verbindlich. Ich kann nicht verstehen, warum sich der Wert von gid in der Datenbank jedes Mal ändert, wenn ich das Menü speichere.

    • Bild

    enter image description here

    • default.xml:

      <fields name="params"> <fieldset name="advanced"> <field name="gid" type="sql" label="FIELDLABEL" description="FIELDDESC" query="SELECT * FROM #__component_list" value_field="name" key_field="id"> <option value="0">Please select</option> </field> </fieldset> </fields>

    • model/filename.php: Liefert das korrekte Ergebnis im Frontend.

      $menuParam = JFactory::getApplication()->getParams(); $gid = $menuParam->get('gid');

Diese Frage wurde auch weitergeleitet, konnte aber keine mögliche Antwort finden:

Holen Sie sich den Menüpunkt Variable mit Jinput

Und diese Joomla-Dokumentation:

https://docs.joomla.org/J3.x:Developing_an_MVC_Component/Adding_a_variable_request_in_the_menu_type

1
Liz.

Ich habe das Problem mit (2) - Params Method gelöst. Ich habe den Wert für die Option Bitte auswählen als 0 in default.xml. Die Lösung bestand darin, es wie folgt auf null zu setzen, und es funktioniert:

<fields name="params">
  <fieldset name="advanced">
    <field name="gid" type="sql" label="FIELDLABEL" description="FIELDDESC" query="SELECT * FROM #__component_list" value_field="name" key_field="id">
        <option value="">Please select</option>
    </field>
  </fieldset>
</fields>
1
Liz.