0

我正在尝试创建一个自定义模块,该模块将在每次销售发生时捕获订单信息并将其发送到 STOMP 服务器。这个想法是创建一个销售事件的实时仪表板。

我已经创建了模块的通用结构,Magento 能够正确识别它,但是代码没有被执行。我已经追溯到 Varien_Autoload 找不到我的班级的事实。

我的配置如下:

应用程序/etc/modules/PrettySecrets_SalesEvent.xml

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

应用程序/代码/本地/PrettySecrets/SalesEvent/etc/config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <PrettySecrets_SalesEvent>
            <version>0.0.1</version>
        </PrettySecrets_SalesEvent>
    </modules>
    <global>
        <models>
            <prettysecrets_salesevent>
                <class>PrettySecrets_SalesEvent_Model</class>
            </prettysecrets_salesevent>
        </models>
        <events>
            <checkout_onepage_controller_success_action>
                <observers>
                    <prettysecrets_salesevent>
                        <type>singleton</type>
                        <class>prettysecrets_salesevent/observer</class>
                        <method>doStreamToNode</method>
                    </prettysecrets_salesevent>
                </observers>
            </checkout_onepage_controller_success_action>
        </events>
    </global>
</config>

我相信目录结构对 Magento 来说非常重要:

app
 code
  local
   PrettySecrets
    SalesEvent
     etc
      config.xml
     Model
      Observer.php

system.log 显示:

警告:包含(PrettySecrets_SalesEvent_Model_Observer.php):无法打开流:第 93 行的 /chroot/home/.../includes/src/Varien_Autoload.php 中没有此类文件或目录

我还验证了 app/code/local 在我的路径中。另外,我已经使用 Mage::log 插入将它调试到 App.php 中。

任何帮助将不胜感激,因为我实际上是在扯头发。

谢谢

4

1 回答 1

1

伙计,您启用了 Magento 编译器,请禁用此功能,system > tools > compilation因为编译会将您的文件复制到include/src/文件夹中,之后您的所有更改都不会被 magento 看到(至少在您重新编译之前)

于 2012-08-08T12:20:40.167 回答