3

早上好!我正在尝试创建一个 Magento 模块,但是我在模块的 config.xml 中定义的路由会导致 404 页面。

我知道这个问题已经出现了无数次,而且我整晚都在阅读我能找到的关于这个主题的每一个 SO 响应。

这是我所做的:

  1. 清除了 var/cache & var/session 文件夹
  2. 跑编译器.php——清除,编译器.php——禁用,编译器.php——编译
  3. 清除并刷新管理面板中的缓存和缓存存储,从后端和命令行重新索引
  4. 为测试创建了一个新的包/模块,与我之前使用的完全不同。它显示在系统>>配置>>高级中。
  5. 已验证 Magento 没有将商店代码附加到 URL
  6. 将我的代码一直简化为我的控制器文件夹中 IndexController.php 的 indexAction() 函数中的单个 echo 语句。
  7. 尝试导航到 mydomain.com/customroute 和 mydomain.com/index.php/customroute 和 mydomain.com/customroute/index/index 和 mydomain.com/index.php/index,以及所有可能的变体。
  8. 多次重复步骤 1-8。xD

下面是一些截图供参考。提前谢谢你 - 如果有人有任何想法如何克服这个问题,那将是一个彻底的救生员。谢谢!!

编辑:

这是 app/etc/modules/Wolverine_Taurine.xml 中的代码:

<?xml version="1.0"?>
<config>
    <modules>
        <Wolverine_Taurine>
            <active>true</active>
            <codePool>local</codePool>
        </Wolverine_Taurine>
    </modules>
</config>

金刚狼/牛磺酸/etc/config.xml:

<?xml version="1.0"?>
 <config>
    <modules>
        <Wolverine_Taurine>
            <version>1.0</version>
        </Wolverine_Taurine>
    </modules>
    <frontend>
        <routers>
            <wolverine_taurine>
                <use>standard</use>
                <args>
                    <module>Wolverine_Taurine</module>
                    <frontName>taurine</frontName>
                </args>
            </wolverine_taurine>
        </routers>
    </frontend>
 </config>

金刚狼/牛磺酸/控制器/IndexController.php:

<?php
class Wolverine_Taurine_IndexController extends Mage_Core_Controller_Front_Action
{
    public function indexAction()
    {
        echo "I look incredible.";
    }
}
4

2 回答 2

3

我已经使用了你的模块,它非常适合我。如果您使用的是 linux 平台,请授予所有文件和文件夹的适当权限。我认为这是由于文件/文件夹权限而发生的。将 Magento 基目录中所有文件的 Linux 权限更改为拥有用户(您)可读和可写。将文件权限设置为 664,文件夹权限设置为 775。文件的 775 也可以。为 media 和 var 设置 777 ,每个人只需要 2 个文件夹可写。

于 2013-07-07T18:00:28.977 回答
2

我有同样的问题,但解决方案不同。在我的情况下,这是配置“问题” - 以前的开发人员设置<disable_local_modules>true</disable_local_modules>app/etc/local.xml硬编码前端部分Excellence_Ajaxapp\design\frontend\default\theme392\template\catalog\product\view.phtml不是使用模块的模板(或者也禁用了本地模块,因此它无法正常工作)。最后,它使用 ajax(硬编码 javascript)请求,但由于禁用模块而没有路由。

我正在按照这里的描述调试它。我阅读了日志,发现在路由器和路由器ajax中都没有找到模块,所以我深入挖掘以查找模块的配置是否已加载。我在 in 中又添加了一个,这是我在项目中搜索 'config.xml' 后发现的,并检查了' 的值。瞧……如此简单却又如此困难;)adminstandardMage::log()app\code\core\Mage\Core\Model\Config.phploadModulesConfiguration()$disableLocalModules

于 2013-09-20T11:07:24.147 回答