magento自定义订单属性值未保存
我使用安装程序脚本为order和quote创建了一个属性。这些可以在实体属性表中看到。在结帐时,我想设置值并将其与订单一起保存。我创建了一个事件和观察者函数。但价值不会节约。请帮忙 config.xmlmagento自定义订单属性值未保存,magento,Magento,我使用安装程序脚本为order和quote创建了一个属性。这些可以在实体属性表中看到。在结帐时,我想设置值并将其与订单一起保存。我创建了一个事件和观察者函数。但价值不会节约。请帮忙 config.xml <sales_order_save_after> <observers> <clickandcollect_save_location_orderattributes>
<sales_order_save_after>
<observers>
<clickandcollect_save_location_orderattributes>
<type>model</type>
<class>Balance_Clickandcollect_Model_Observer</class>
<method>saveLocationOrderattributes</method>
</clickandcollect_save_location_orderattributes>
</observers>
</sales_order_save_after>
谁能帮我解决这个问题。我不明白我在哪里犯了错误
谢谢我想你缺少了保存方法 您必须按以下方式更改观察员代码
public function saveLocationOrderattributes($observer){
$event = $observer->getEvent();
$order = $event->getOrder();
//$quote = $event->getQuote();
//or load the order
$order_id = $order->getId();
$order = Mage::getModel('sales/order')->load($order_id);
$order->setLocation('1');
$order->save();
}
因此,它将保存您的订单更新值
希望这将有助于您您的订单->保存()返回销售\订单\保存\并进行无限循环。试试这个,我添加了一个注册表项,这样在order->save()调用之后它就不会保存属性和订单了
你好,谢谢你的回复。之前我添加了save(),但后来我收到一个错误,说内存已超出:(我应该怎么做。在我的php.ini内存中,你可以将其增加到
256M
或512M
可能对你有用。也可以查看我的更新代码。它不起作用。没有其他解决方案。我想要的是在签出中保存订单属性值。有什么帮助吗?你在实际的obs中获得订单信息吗服务器?如订单id和allyes订单信息正在获取,它们也在保存
public function saveLocationOrderattributes($observer){
$event = $observer->getEvent();
$order = $event->getOrder();
//$quote = $event->getQuote();
//or load the order
$order_id = $order->getId();
$order = Mage::getModel('sales/order')->load($order_id);
$order->setLocation('1');
$order->save();
}
public function saveLocationOrderattributes($observer){
if(!Mage::registry('afterOrderSave'))
{
Mage::register('afterOrderSave');
$event = $observer->getEvent();
$order = $event->getOrder();
$order->setLocation('1');
$order->save();
}
}