我需要一些帮助:我正在开发一个管理模块,我在其中创建了两个菜单。我想在config.xml中设置链接,但我不明白。我的config.xml如下。
<children>
<menuitem1 module="PrecosMargens">
<title>Actualizar Preços Custos</title>
<action>PrecosMargens/example</action>
</menuitem1>
<menuitem2 module="PrecosMargens">
<title>Actualizar Preços vendas</title>
<action>PrecosMargens/example2</action>
</menuitem2>
</children>
但是使用MenuItem2获取错误404.你能帮我解决这个问题吗?在控制器文件中,我的内容如下:
class lbonus_PrecosMargens_ExampleController extends Mage_Adminhtml_Controller_Action
{
public function indexAction()
{
// "Fetch" display
$this->loadLayout();
// "Inject" into display
// THe below example will not actualy show anything since the core/template is empty
$this->_addContent($this->getLayout()->createBlock('core/template')
//defino o template
->setTemplate('PrecosMargens/list.phtml'));
// "Output" display
$this->renderLayout();
}
}
我想做的是有两个不同的布局,一个布局到另一个布局到link1和link2
答案 0 :(得分:1)
第二个操作(PrecosMargens/example2
)正在尝试在单独的班级indexAction()
中找到方法lbonus_PrecosMargens_Example2Controller
。这两个动作需要两个控制器。
您可以使用一个控制器。将操作更改为PrecosMargens/example/custos
和PrecosMargens/example/vendas
,这会导致使用匹配方法custosAction()
和vendasAction()
。
该操作(成为URL的一部分)采用“路由器/控制器/操作”的形式。路由器通过该模块的config.xml文件的<routers>
部分与您的模块匹配
控制器成为附加了“Controller”的类名,因此在这种情况下,“example”成为模块的“ExampleController”。
动作部分导致该类'方法附加“Action”。您可以看到“custos”成为custosAction()
方法
当缺少其中一个部分时,它默认为“index”,因此默认控制器为“IndexController”,默认操作为“indexAction”。如果您只使用“PrecosMargens”,它将被用作“PrecosMargens / index / index”。