我正在建立一个控制器,当我打电话给一个行动时,我得到一个404错误(上周一切工作!)。我打电话使用操作:Magento控制器路由是路由到控制器的noRouteAction
http://www.website.com/route/controllername/actionname
如:
http://www.website.com/abcdef/test/echo
我已经研究这个问题(使用法师::日志( '..')),并发现控制器正在加载。控制者的名字也很好。进一步调查发现,我的控制器内的noRouteAction正在被调用。
即我控制器包含:
public function noRouteAction() {
echo "noRoute Action";
}
public function echoAction() {
echo "Echo Action";
}
当我打电话http://www.website.com/abcdef/test/echo我得到 “noRoute行动”。
为什么不调用echoAction?
编辑:
config.xml文件
<?xml version="1.0"?>
<config>
<modules>
<Abcdef_Web>
<version>1.0.0</version>
</Abcdef_Web>
</modules>
<global>
<helpers>
<abcdef>
<class>Abcdef_Web_Helper</class>
</abcdef>
</helpers>
<blocks>
<abcdef>
<class>Abcdef_Web_Block</class>
</abcdef>
</blocks>
</global>
<frontend>
<routers>
<abcdef>
<use>standard</use>
<args>
<module>Abcdef_Web</module>
<frontName>abcdef</frontName>
</args>
</abcdef>
</routers>
<layout>
<updates>
<abcdef>
<file>abcdef.xml</file>
</abcdef>
</updates>
</layout>
</frontend>
</config>
控制器类文件:(TestController.php)
<?php
class Abcdef_Web_TestController extends Mage_Core_Controller_Front_Action {
public function noRouteAction() {
echo "noRoute Action";
}
public function echoAction() {
echo "Echo Action";
}
}
?>
请添加您的config.xml,全控制器类文件(文件名精确!)。这将真正帮助诊断问题 – mcmil
@M_F文件添加 – mas
嗯,我用你的代码(+添加适当的'Abcdef_Web.xml'到应用程序\ etc \模块),我看到“回声行动”在我的屏幕上。尝试删除你的'var \ cache'。 – Zyava