Magento:自定义模块在localhost中工作,但在服务器中不工作

时间:2017-04-01 03:00:47

标签: php magento magento-1.9

使用magento 1.9我有一个应该出现在产品视图中的自定义模块,它在我的localhost中的xampp服务器上工作正常,但是当我将模块文件上传到服务器时它不起作用,尽管它看起来像启用系统>禁用模块输出时的配置。 它是我的代码还是服务器?

这是 app \ etc \ modules

csharls_productmeasure.xml 的内容
<?xml version="1.0" encoding="UTF-8"?>
    <config>
        <modules>
            <csharls_productmeasure>
                <active>true</active>
                <codePool>local</codePool>
            </csharls_productmeasure>
        </modules>
    </config>

这是 app \ code \ local \ csharls \ productmeasure \ etc

中的 config.xml
<?xml version="1.0" encoding="UTF-8"?>
 <config>
    <modules>
        <csharls_productmeasure>
        <version>0.0.1</version>
        </csharls_productmeasure>
    </modules>
    <global>
        <models>
            <productmeasure>
                <class>csharls_productmeasure_Model</class>
            </productmeasure>
        </models>
        <blocks>
            <productmeasure>
                <class>csharls_productmeasure_Block</class>
            </productmeasure>
        </blocks>   
        <events>            
          <sales_quote_add_item>
           <observers>
             <productmeasure>
                  <type>singleton</type>
                  <class>csharls_productmeasure_Model_Observer</class>
                    <method>updatePrice</method>
                  </productmeasure>
              </observers>
           </sales_quote_add_item>
       </events>
    </global>
    <frontend>
      <routers>
          <productmeasure>
                <use>standard</use>
                <args>
                    <module>csharls_productmeasure</module>
                    <frontName>productmeasure</frontName>
                </args>
            </productmeasure>
        </routers>
        <layout>
            <updates>
                <csharls_productmeasure>
                    <file>csharls_productmeasure.xml</file>
                </csharls_productmeasure>
            </updates>
        </layout>
    </frontend>
</config>

2 个答案:

答案 0 :(得分:1)

问题出现在服务器上,因为它在Linux上运行,而我的XAMPP localhost在Windows上运行。 Windows不区分大小写,而linux区分大小写。因此,当我创建文件夹和文件时,我用小写字母写了这个名字以避免这种情况,但具有讽刺意味的是问题,在Magento中,初始版本必须是Capital leter,

所以我的模块文件夹是用小写写的:

csharls / productmeasure /...它适用于Windows但不适用于Linux。

我把它改成了这样的初始大写字母:

Csharls / Productmeasure /...这适用于Windows和Linux。

还更改了块,控制器,模型文件的名称空间以及文件的名称,所有这些文件的名称必须是初始的capitalLetter,以及.xml文件中的所有引用。

模板 csharls_prodcutmeasure.xml 文件和布局 csharls_productmeasure.phtml 文件,其中唯一没有重命名的文件。

答案 1 :(得分:0)

第1步:请在服务器

中许可您的文件755

第2步:检查你的php版本是否为本地&amp;生活是否相同

第3步:刷新缓存