Frage

Ich habe ein benutzerdefiniertes Modul erstellt. In Controller -Datei die Funktion als Balg.

    /**
     * Load slider images
     */
    public function loadImageAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }

Die Layout -Handler -Erklärung lautet wie folgt.

<layout version="0.1.0">
    <slider_slider_loadImage>
        <reference name="content">
            <block type="slider/load" name="load_custom_slider" template="slider/slider.phtml" />
        </reference>
    </slider_slider_loadImage>
 </layout>

Dies lädt jedoch nicht die Vorlagendatei. Wenn ich die Controller -Aktion als umbenanne loadimageAction(){ ...} Dann funktioniert es.

Kann jemand erklären, wie ich Aktionsnamen mit mehreren Wörtern verwenden kann?

Eg: loadImageAction()
navNextAction()

Jede Klarstellung dazu wird geschätzt.

War es hilfreich?

Lösung

Es funktionierte.

Die Controller -Aktion ist wie unten.

  /**
     * Load slider images
     */
    public function loadImageAction()
    {
        $this->loadLayout();
        $this->renderLayout();
    }

layout.xml Datei

<layout version="0.1.0">
    <slider_slider_loadimage>
        <reference name="content">
            <block type="slider/load" name="load_custom_slider" template="slider/slider.phtml" />
        </reference>
    </slider_slider_loadimage>
 </layout>

Das Problem war früher Handler slider_slider_loadImage. Ich habe es geändert in slider_slider_loadimage . Jetzt funktioniert es gut.

Andere Tipps

Magento unterscheidet nicht zwischen Aktionsnamen mit mehreren Wörtern, soweit ich weiß.

Sie können sich den Code in mage_core_controller_varien_action ansehen.

Viele Magento -Module haben Aktionsnamen, die mehr als ein Wort sind, und sie tun nichts Lustiges, um sich darum zu kümmern. Siehe zum Beispiel mage_cms.

Ich fürchte, Ihr Fehler ist woanders.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top