我正在建立一個控制器,當我打電話給一個行動時,我得到一個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