2

我的模块遇到了一些问题,它在本地服务器上工作正常,但在开发服务器上却不行。这是我的代码:app/etc/modules/Ecophone_Specialoffer.xml

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

配置文件 app/code/local/Ecophone/Specialoffer/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
      <Ecophone_Specialoffer>
          <version>0.1.0</version>
      </Ecophone_Specialoffer>
    </modules>
    <frontend>
     <events>
        <checkout_cart_product_add_after>
            <observers>
               <Ecophone_Specialoffer_Model_Observer>
                  <type>singleton</type>
                  <class>Ecophone_Specialoffer_Model_Observer</class>
                  <method>changingPrice</method>
               </Ecophone_Specialoffer_Model_Observer>
           </observers>
        </checkout_cart_product_add_after>
    </events>
    </frontend>
</config> 

Observer.php app/code/local/Ecophone/Specialoffer/Model/Observer.php

class Ecophone_Specialoffer_Model_Observer {
    public function changingPrice(Varien_Event_Observer $obs){
             die('hello');
        }
}

我不知道开发服务器会出现什么问题。

4

3 回答 3

2

检查大写字母和小写字母之间的区别,因为 Windows 不关心大写字母与否,但 linux 关心。核实。

改变:

<Ecophone_Specialoffer_Model_Observer>

至:

<ecophone_specialoffer_model_observer>
于 2012-11-16T12:15:11.000 回答
0

请登录到magento admin去系统->工具->编译并点击禁用。

现在它将在服务器中工作。

于 2013-07-02T13:32:20.477 回答
0

将您的事件代码放入

<global>

<!-- you event here -->

</global>

所以就像

<global>
<events>
        <checkout_cart_product_add_after>
            <observers>
               <ecophone_specialoffer_model_observer>
                  <type>singleton</type>
                  <class>Ecophone_Specialoffer_Model_Observer</class>
                  <method>changingPrice</method>
               </ecophone_specialoffer_model_observer>
           </observers>
        </checkout_cart_product_add_after>
    </events>
</global>

这将解决您的问题。问候苏克万

于 2013-04-18T07:33:32.210 回答