我正在创建一个小模块,在Admin命令视图页面添加一个按钮。此按钮将触发自定义控制器操作,该操作将(除了其他内容)创建发票和货件。
我添加了按钮,我可以让它指向我的控制器动作(理论上),将当前订单ID添加为参数,但点击该按钮只会让我进入404页面。
我有这个我的config.xml:
<admin>
<routers>
<adminhtml>
<args>
<modules>
<id_acscourier before="Mage_Adminhtml">ID_AcsCourier_Adminhtml</id_acscourier>
</modules>
</args>
</adminhtml>
</routers>
</admin>
这是我的控制器的开始:
class ID_AcsCourier_IndexController extends Mage_Adminhtml_IndexController
{
public function indexAction() {
$this->loadLayout();
$this->renderLayout();
}
public function voucherAction() {
// more stuff here...
}
}
我不确定config.xml代码,经过几个小时的阅读和搜索后,我找到了一个建议这个解决方案的示例。 该动作不应该产生任何类型的输出,但我想在结尾处显示一条消息(就像magento在保存之后产生的那些......)
答案 0 :(得分:0)
你的控制器文件应该如下所示
class [namespace]_[module_name]_Adminhtml_[controller_name] extends Mage_Adminhtml_Controller_Action {
public function indexAction() {
// your stuff
}
}
adminhtml.xml
<unique_tag>
<title>Manage Controller</title>
<sort_order>10</sort_order>
<action>adminhtml/[module_name]/[action]</action>
</unique_tag>
答案 1 :(得分:0)
模块config.xml与控制器类之间存在矛盾。您的模块中有_Adminhtml
,需要指向您的管理面板。但你的控制器出现在adminhtml之外。如果要创建自定义模块,请从
<modules>
<id_acscourier before="Mage_Adminhtml">ID_AcsCourier</id_acscourier>
<modules>
或强> 在Adminhtml ...
中创建控制器你很高兴去!