Php 如何在magento EE中禁用产品时发出警报
如果产品在管理中发生了更改,我希望为其构建一个事件/观察者。。。或者通过cron/产品导入进行更改 以下是我所拥有的: 我有一个模块: app/etc/模块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
<?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>
独生子女
残疾人/观察员
禁用状态更改