Wie verwende ich Controller -Aktionen mit langen Namen?
-
16-10-2019 - |
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.
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.