如何使用长名的控制器操作?
-
16-10-2019 - |
题
我创建了一个自定义模块。在控制器文件中,功能作为波纹管。
/**
* Load slider images
*/
public function loadImageAction()
{
$this->loadLayout();
$this->renderLayout();
}
布局处理程序声明如下。
<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>
但这不会加载模板文件。如果我将控制器动作重命名为 loadimageAction(){ ...}
然后它正在工作。
谁能解释如何使用几个单词使用动作名称?
Eg: loadImageAction()
navNextAction()
对此的任何澄清将不胜感激。
解决方案
有效。
控制器动作如下。
/**
* Load slider images
*/
public function loadImageAction()
{
$this->loadLayout();
$this->renderLayout();
}
layout.xml文件
<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>
这个问题是较早的处理程序 slider_slider_loadImage
. 。我把它更改为 slider_slider_loadimage
。现在正常工作。
其他提示
据我所知,Magento不会区分具有多个单词的动作名称。
您可以查看mage_core_controller_varien_action中的代码。
许多Magento模块的动作名称不止一个单词,而且他们没有做任何有趣的事情来照顾它。例如,请参见mage_cms。
恐怕您的错误在其他地方。