删除IndexAction周围的类会导致服务器错误,因此我知道代码在此之前按预期运行。
class Foo_Bar_IndexController extends Mage_Core_Controller_Front_Action{
public function indexAction(){
echo "<h1>Echo from indexcontroller.</h1>";
}
}
理想情况下,回声会被加载模板文件所取代,但过去2天我一直坚持使用404,只是想过去。
我已经阅读了大约十几个教程,接着完成了4个,但每次都会弹出这个问题。 有没有人知道可能导致这种情况的原因?
Edit-- 对不起,为了简洁起见。我不确定我应该在多大程度上放弃这个页面。
@Alan Storm - 我在这里找到了你的教程。 http://alanstorm.com/magento_controller_hello_world(非常详细,非常有助于理解所有xml标记的功能)。这是教程的副本,Foo取代了Alanstormdotcom和Bar取代了Helloworld。即使是复制/粘贴,我也会使用相同的404。
这是我当前的配置文件: 路径:app / code / local / Foo / Bar / etc / config.xml(编辑:更正的路径)
<config>
<modules>
<Foo_Bar>
<version>0.1.0</version>
</Foo_Bar>
</modules>
<frontend>
<routers>
<bar>
<use>standard</use>
<args>
<module>Foo_Bar</module>
<frontName>bar</frontName>
</args>
</bar>
</routers>
</frontend>
</config>
编辑--- 最后剩下的文件 路径:app / etc / modules / Foo_Bar.xml
<config>
<modules>
<Foo_Bar>
<active>true</active>
<codePool>local</codePool>
</Foo_Bar>
</modules>
</config>
答案 0 :(得分:2)
我认为你缺少在URL中添加store_code(我有同样的问题),可能你已经从admin启用了商店代码,换句话说,商店代码(例如:en,nl等)正在添加URL。
例如:
www.example.com/ zh_ /aaa.html
如果是,那么请以这种方式访问您的控制器和操作:
www.example.com/ store_code / front_name / controller / action
例如:
www.example.com/的 EN 强> /酒吧/索引/索引
答案 1 :(得分:0)
您的路径不正确:
app/etc/modules/Foo/Bar/etc/config.xml
您应该将模块的定义文件Foo_Bar.xml
放在app/etc/modules
中,将模块的代码放在app / code / local中:
app/code/local/Foo/Bar/etc/config.xml
app/code/local/Foo/Bar/controllers/IndexController.php
编辑:要访问您的控制器,您应该访问此网址:
www.example.com/magento-instance/bar/index
遵循这种模式:
{magento_root} / {magento_module} / {magento_controller} / {magento_action}
答案 2 :(得分:0)
如果其他答案对您没有帮助,您可能需要尝试此路径模式:
www.example.com/index.php/frontName/controllerName/actionName
我不明白为什么他们没有为这种网址创建重写规则。
无论如何,上面的模式在大多数情况下都适用。