Magento 1.9.2.1自定义模块404

时间:2015-08-24 17:21:32

标签: php magento-1.9

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

模块结构:

  • 代码
    • 本地
      • Mxsxs2
        • 的Cron
          • 控制器
            • IndexController.php
            • config.xml中
    • 模块
      • Mxsxs2_Cron.xml

文件:

应用程序/代码/本地/ Mxsxs2 /克龙的/ 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>

应用程序/代码/本地/ Mxsxs2 /克龙/控制器/ 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
}

应用程序的/ etc /模块/ Mxsxs2_Cron.xml

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试更改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