Php 如何在magento EE中禁用产品时发出警报

Php 如何在magento EE中禁用产品时发出警报,php,xml,magento,events,observers,Php,Xml,Magento,Events,Observers,如果产品在管理中发生了更改,我希望为其构建一个事件/观察者。。。或者通过cron/产品导入进行更改 以下是我所拥有的: 我有一个模块: app/etc/模块 <?xml version="1.0" encoding="UTF-8"?> <config> <modules> <Alertstatus_Disabled> <active>true</active> <codePool&g

如果产品在管理中发生了更改,我希望为其构建一个事件/观察者。。。或者通过cron/产品导入进行更改

以下是我所拥有的:

我有一个模块:

app/etc/模块

<?xml version="1.0" encoding="UTF-8"?>
<config>
  <modules>
    <Alertstatus_Disabled>
      <active>true</active>
      <codePool>community</codePool>
    </Alertstatus_Disabled>
  </modules>
</config>

真的
社区
app/code/community/Alertstatus/Disabled/etc/config.xml

<config>
  <modules>
    <Alertstatus_Disabled>
      <version>1.0.0></version>
    </Alertstatus_Disabled>
  </modules>

  <global>
    <models>
      <disabled>
        <class>Alertstatus_Disabled_Model</class>
      </disabled>
    </models>
    <events>
      <catalog_product_save_before>
        <observers>
          <update_status_disabled>
            <type>singleton</type>
            <class>disabled/observer</class>
            <method>disabledStatusChange</method>
          </update_status_disabled>
        </observers>
      </catalog_product_status_update>
    </events>
    <template>
            <email>
                <custom_order_tpl module="Alertstatus_Disabled">
                    <label>Status Disabled</label>
                    <file>statusdisabled_alert.html</file>
                    <type>html</type>
                </custom_order_tpl>
            </email>
        </template>
    </global>
</config>

1.0.0>
警报状态\禁用\模式
独生子女
残疾人/观察员
禁用状态更改
状态禁用
statusdisabled_alert.html
html
模型/观察者是我遇到问题的地方:

    <?php

class Alertstatus_Disabled_Model_Observer
{
  public function disabledStatusChange($event)
  {
    $attributesData = $observer->getEvent()->getAttributesData();
      $productIds     = $observer->getEvent()->getProductIds();

      $user  = Mage::getSingleton('admin/session')->getUser();
      foreach ($productIds as $id) {
          $change             = Mage::getModel('some_module/changes');
          $change->product_id = $id;
          $change->new_values = print_r($attributesData, true);
          $change->user_id    = ($user) ? $user->getId() : NULL;
          $change->created    = now();
          $change->save();
      }
      return $this;
  }


    private function _sendStatusMail($order)
    {
        $emailTemplate = Mage::getModel('core/email_template');

        $emailTemplate->loadDefault('custom_order_tpl');
        $emailTemplate->setTemplateSubject('Products have been disabled');

        //Get General email address (Admin0>Configuration->General->Store Email Addresses)
        $salesData['email'] = Mage::getStoreConfig('trans_email/ident_general/email');
        $salesData['name']  = Mage::getStoreConfig('trans_email/ident_general/name');

        $emailTemplate->setSenderName($salesData['name']);
        $emailTemplate->setSenderEmail($salesData['email']);

        $emailTemplateVariables['store_name'] = $order->getStoreName();
        $emailTemplateVariables['store_url'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
        $emailTemplate->send($order->getCustomerEmail(), $order->getStoreName(), $emailTemplateVariables);


  }
}

您以前在xml中使用过catalog\u product\u save\u,但在关闭它时,您获得了catalog\u product\u status\u update

可能是,它应该如下所示:

  <catalog_product_status_update>
    <observers>
      <update_status_disabled>
        <type>singleton</type>
        <class>disabled/observer</class>
        <method>disabledStatusChange</method>
      </update_status_disabled>
    </observers>
  </catalog_product_status_update>

独生子女
残疾人/观察员
禁用状态更改

您以前在xml中使用过catalog\u product\u save\u,但在关闭它时,您获得了catalog\u product\u status\u update

可能是,它应该如下所示:

  <catalog_product_status_update>
    <observers>
      <update_status_disabled>
        <type>singleton</type>
        <class>disabled/observer</class>
        <method>disabledStatusChange</method>
      </update_status_disabled>
    </observers>
  </catalog_product_status_update>

独生子女
残疾人/观察员
禁用状态更改