【问题标题】:Magento 1.9.2.1 custom module 404Magento 1.9.2.1 自定义模块 404
【发布时间】:2015-08-24 17:21:32
【问题描述】:

我最近安装了一个干净的 Magento 版本。我有一个自定义模块,它在旧模块上运行良好,但在新模块上却没有(均为 1.9.2.1)。它显示在系统->配置->高级->高级下。 每当我尝试调用 mydomain/index.php/cron 时。它将重定向到 404 页面。 我尝试添加教程中的其余文件夹:Block、Helper、model 和 sql。但没有运气。 正如我所说,它正在使用相同版本号的旧安装。我只是将整个模块和文件复制到 etc 文件夹中。

模块结构:

  • 代码
    • 本地
      • Mxsxs2
        • 克隆
          • 控制器
            • IndexController.php
            • config.xml
    • 模块
      • Mxsxs2_Cron.xml

文件:

app/code/local/Mxsxs2/Cron/etc/config.xml:

            <?xml version="1.0"?>
            <config>
               <modules>
                  <Mxsxs2_Cron>
                    <version>1.0.0</version>
                   </Mxsxs2_Cron>
               </modules>
               <frontend>
                   <routers>
                     <cron>
                        <use>standard</use>
                         <args>
                           <module>Mxsxs2_Cron</module>
                           <frontName>cron</frontName>
                         </args>
                     </cron>
                  </routers>
               </frontend>
            </config>

app/code/local/Mxsxs2/Cron/controllers/IndexController.php

<?php
class Mxsxs2_Cron_IndexController extends Mage_Core_Controller_Front_Action
{
    public $importfolder="var/import"; 
    private $errormessages=array();
    private $READ=null;
    private $WRITE=null;
    private $wasindb=0;
    private $noofwarehouses=3; //for cost check   
    public function indexAction(){
       echo("asd");
    }
    //----rest of the code and fucntions they are not important if i remove them it still does not work
}

app/etc/modules/Mxsxs2_Cron.xml

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

【问题讨论】:

标签: php magento-1.9


【解决方案1】:

我安装了最新的 Magento 1.9.x.x 并且遇到了类似的问题。要调试它,这个问题对我有很大帮助:Why is my Magento module not being loaded?。基本上你需要检查 Mage_Core_Model_Config。我也想知道为什么我可以在 System->Configuration->Advanced->Advanced 中看到我的模块,但它给出了 404 错误。基本上这是 Magento 中的一个错误,并且模块的名称已损坏。 Magento 在某处强制名称的第一个字符大写。它不适用于第一个小写字符(但它显示在 ystem->Configuration->Advanced->Advanced 中)。

【讨论】:

    【解决方案2】:

    尝试更改frontName,它可能会与新版本的magento产生一些冲突:

    app/code/local/Mxsxs2/Cron/etc/config.xml:
    
            <?xml version="1.0"?>
            <config>
               <modules>
                  <Mxsxs2_Cron>
                    <version>1.0.0</version>
                   </Mxsxs2_Cron>
               </modules>
               <frontend>
                   <routers>
                     <cron>
                        <use>standard</use>
                         <args>
                           <module>Mxsxs2_Cron</module>
                           <frontName>testname</frontName>
                         </args>
                     </cron>
                  </routers>
               </frontend>
            </config>
    

    清除缓存然后访问 url mydomain/index.php/testname

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 2015-10-03
      • 2012-08-28
      • 2014-05-22
      • 1970-01-01
      • 2013-09-13
      相关资源
      最近更新 更多