[英]Magento Simple Product Page - Dynamically Update SKU with Custom Options
[英]Magento 1.9.1 - Custom Module to update log file after checkout specific SKU product
我正在使用 Magento 1.9.1,我想在用戶使用特定 SKU 產品下訂單后寫入自定義日志文件。 我按照一些教程解釋了如何創建模塊,但我無法以任何方式運行它。
首先我在app/etc/modules/MyName_MyModule.xml 創建
<?xml version="1.0"?>
<config>
<modules>
<MyName_MyModule>
<active>true</active>
<codePool>local</codePool>
<version>1.0.0</version>
</MyName_MyModule>
</modules>
</config>
檢查內部管理和正確激活的模塊。 查看詳細
之后我在app/code/local/MyName/MyModule/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<MyName_MyModule>
<version>1.0.0</version>
</MyName_MyModule>
</modules>
<local>
<models>
<mymodule>
<class>MyName_MyModule_Model</class>
</mymodule>
</models>
<events>
<checkout_onepage_controller_success_action>
<observers>
<updatelogfile>
<class>mymodule/observer</class>
<method>updateLogFile</method>
</updatelogfile>
</observers>
</checkout_onepage_controller_success_action>
</events>
</local>
</config>
和app/code/local/MyName/MyModule/Model/Observer.php中的觀察者
<?php
class MyName_MyModule_Model_Observer extends Varien_Event_Observer {
public function updateLogFile($observer) {
$order_ids = $observer->getData('order_ids');
if(isset($order_ids)) {
foreach ($order_ids as $order_id) :
$sendToMe = false;
$order = Mage::getModel('sales/order')->load($order_id);
if (isset($order)) {
$orderItems = $order->getAllItems();
foreach ($orderItems as $_item) {
$product = Mage::getModel('catalog/product')->load($item->getData('product_id'));
$name = $product->getName();
$sku = $product->getSku();
if($sku == ('MR002-S' || 'MR002-M' || 'MR002-L' || 'MR002-XL' || 'MR002-XXL')) { // Your SKUs
$sendToMe = true;
}
}
}
if($sendToMe) {
// write order data in custom log file
Mage::log("{$name} ({$sku}) ordered", null, 'custom_order.log');
}
endforeach;
}
}
}
在var/log/和 chmod 777 中上傳了名為custom_order.log的自定義日志文件
之后,我清除了所有 Magento 緩存並將其禁用,但如果我嘗試使用特定 $sku 簽出產品,我的日志文件不會更新..
我必須再次做什么? 這一切似乎都很清楚,但我想我錯過了一些東西..
更改此文件如下
<?php
class MyName_MyModule_Model_Observer extends Varien_Event_Observer {
public function updateLogFile($observer) {
$order_ids = $observer->getData('order_ids');
if(isset($order_ids)) {
foreach ($order_ids as $order_id) :
$sendToMe = false;
$order = Mage::getModel('sales/order')->load($order_id);
if (isset($order)) {
$orderItems = $order->getAllItems();
foreach ($orderItems as $_item) {
$product = Mage::getModel('catalog/product')->load($item->getData('product_id'));
$name = $product->getName();
$sku = $product->getSku();
if($sku == ('MR002-S' || 'MR002-M' || 'MR002-L' || 'MR002-XL' || 'MR002-XXL')) { // Your SKUs
$sendToMe = true;
if($sendToMe)
{
// write order data in custom log file
Mage::log("{$name} ({$sku}) ordered", null, 'custom_order.log');
}
}
}
}
endforeach;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.