将自定义字段的值保存到sales_flat_order_address表中

用户名

我在后端有一个自定义字段(new_address_code)作为客户地址。通过myaddress或在结帐页面中添加新地址时,将使用观察者为字段分配自动生成的值。

<customer_address_save_after>
      <observers>
         <myautoincrement>
            <class>samp/observer</class>
            <method>saveadrsmethod</method>
         </myautoincrement>
      </observers>
</customer_address_save_after>

在观察者课上

$customerAddress = $observer->getCustomerAddress();
$id= (string)$customerAddress->getId();
$ObcustomerAddress = $observer->getCustomerAddress();
if ($customerAddress->getId()) {
            $customerAddress->setData('new_address_code','aftertesting-'.$customerAddress->getData('firstname').'=myid'.$id);
             $customerAddress->getResource()->saveAttribute($ObcustomerAddress, 'new_address_code');
   }

这里的问题是,在结帐时添加新地址时,自动生成的自定义字段值未保存到sales_flat_quote_address表中。因此,我尝试为此编写一个观察者,如下所示

<sales_order_place_before>
    <observers>
       <myautoincrement>
          <class>samp/observer</class>
          <method>beforeorder</method>
       </myautoincrement>
    </observers>
</sales_order_place_before>

在观察者课上

   public function beforeorder($observer)
{
    $order = $observer->getEvent()->getOrder();
    $customerAddress = $observer->getCustomerAddress();
    if ($customerAddress->getId()) {
        $address=Mage::getModel('sales/order_address')->setData('new_address_code',$customerAddress->getData('new_address_code'));
        $order->setBillingAddress($address);
        $order->setShippingAddress($address);
    }
}

但这并没有保存在sales_flat_order_address表中。谁能告诉我正确的方法。

阿米特·贝拉(Amit Bera)

我已经给出了解决方案

事件是

<checkout_submit_all_after>
    <observers>
        <auto_set_custom_field>
            <class>check/observer</class>
            <method>autosetBillingShipfield</method>
        </auto_set_custom_field>
    </observers>
</checkout_submit_all_after>

观察者功能代码为

public function autosetBillingShipfield($Observer){
    $Order=$Observer->getEvent()->getOrder();
    $Quote=$Observer->getEvent()->getQuote();
    if ($Quote->getBillingAddress()->getSaveInAddressBook()&& !is_null($Order->getBillingAddress()->getCustomerAddressId())) {
                 $address = Mage::getModel('customer/address')->load((int)$Order->getBillingAddress()->getCustomerAddressId());
        $SaleaOrderAdd=Mage::getModel('sales/order_address')->load($Order->getBillingAddress()->getId());       
        $SaleaOrderAdd->setData('myaddr_new_code','after-testingnew-'.$Order->getBillingAddress()->getData('firstname').'--'.$address->getId());
        $SaleaOrderAdd->getResource()->saveAttribute($SaleaOrderAdd, 'myaddr_new_code');


    }
    if ($Quote->getShippingAddress()->getSaveInAddressBook()&& !is_null($Order->getShippingAddress()->getCustomerAddressId())) {
                 $address = Mage::getModel('customer/address')->load((int)$Order->getShippingAddress()->getCustomerAddressId());
        $SaleaShipOrderAdd=Mage::getModel('sales/order_address')->load($Order->getShippingAddress()->getId());      

        $SaleaShipOrderAdd->setData('myaddr_new_code','after-testingnew-'.$Order->getShippingAddress()->getDataFirstname().'--'.$address->getId());
        $SaleaShipOrderAdd->getResource()->saveAttribute($SaleaShipOrderAdd, 'myaddr_new_code');

    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在自定义字段中将数据写入“ sales_flat_order_payment”表?

来自分类Dev

Openiddict。将自定义声明保存到 AspNetUserClaims 表

来自分类常见问题

将自定义对象保存到NSUserDefaults中

来自分类Dev

使用Infusionsoft中的API将数据保存到Order自定义字段

来自分类Dev

如何将自定义字段条目与数据库表中的值进行比较?

来自分类Dev

Excel-DNA将自定义数据保存到工作表中(而不是单元格)

来自分类Dev

在django中将自定义字段类保存到哪里?

来自分类Dev

在django中将自定义字段类保存到哪里?

来自分类Dev

将UITableCellView中的值保存到自定义类

来自分类Dev

如何将自定义类型保存到QSettings?

来自分类Dev

在挂钩函数中获取保存在 Order items meta 中的自定义字段值

来自分类Dev

如何在Python中将自定义信息保存到PNG图像文件中?

来自分类Dev

使用 javascript 更改自定义字段的值后,如何将其保存到 wordpress 的 user_meta 中?

来自分类Dev

Acumatica ERP 中新自定义字段的值不会保存到数据库

来自分类Dev

自定义字段未保存到MySQL

来自分类Dev

在WooCommerce中将自定义结帐字段值添加到客户订单注释中

来自分类Dev

如果我从EKReminder继承了子类,则可以将自定义类保存到iCloud上的事件存储中

来自分类Dev

如何在Swift中归档和取消归档自定义对象?或者如何在Swift中将自定义对象保存到NSUserDefaults?

来自分类Dev

将自定义对象数组保存在NSUserDefaults中

来自分类Dev

在保存帖子的同时获取wordpress中的自定义字段值,并将这些值保存在db中的不同表中

来自分类Dev

使用NSCoding将自定义Swift类保存到UserDefaults

来自分类Dev

将自定义对象数组保存到共享首选项

来自分类Dev

将自定义元数据保存到Shipstation的WooCommerce订单

来自分类Dev

如何将自定义变量保存到给定文件?

来自分类Dev

PHP Imagick:如何将自定义图像属性保存到文件

来自分类Dev

将自定义元数据保存到Shipstation的WooCommerce订单

来自分类Dev

将自定义部分保存到配置文件

来自分类Dev

无法将自定义数组保存到数据库

来自分类Dev

将自定义对象数组保存到共享首选项

Related 相关文章

  1. 1

    如何在自定义字段中将数据写入“ sales_flat_order_payment”表?

  2. 2

    Openiddict。将自定义声明保存到 AspNetUserClaims 表

  3. 3

    将自定义对象保存到NSUserDefaults中

  4. 4

    使用Infusionsoft中的API将数据保存到Order自定义字段

  5. 5

    如何将自定义字段条目与数据库表中的值进行比较?

  6. 6

    Excel-DNA将自定义数据保存到工作表中(而不是单元格)

  7. 7

    在django中将自定义字段类保存到哪里?

  8. 8

    在django中将自定义字段类保存到哪里?

  9. 9

    将UITableCellView中的值保存到自定义类

  10. 10

    如何将自定义类型保存到QSettings?

  11. 11

    在挂钩函数中获取保存在 Order items meta 中的自定义字段值

  12. 12

    如何在Python中将自定义信息保存到PNG图像文件中?

  13. 13

    使用 javascript 更改自定义字段的值后,如何将其保存到 wordpress 的 user_meta 中?

  14. 14

    Acumatica ERP 中新自定义字段的值不会保存到数据库

  15. 15

    自定义字段未保存到MySQL

  16. 16

    在WooCommerce中将自定义结帐字段值添加到客户订单注释中

  17. 17

    如果我从EKReminder继承了子类,则可以将自定义类保存到iCloud上的事件存储中

  18. 18

    如何在Swift中归档和取消归档自定义对象?或者如何在Swift中将自定义对象保存到NSUserDefaults?

  19. 19

    将自定义对象数组保存在NSUserDefaults中

  20. 20

    在保存帖子的同时获取wordpress中的自定义字段值,并将这些值保存在db中的不同表中

  21. 21

    使用NSCoding将自定义Swift类保存到UserDefaults

  22. 22

    将自定义对象数组保存到共享首选项

  23. 23

    将自定义元数据保存到Shipstation的WooCommerce订单

  24. 24

    如何将自定义变量保存到给定文件?

  25. 25

    PHP Imagick:如何将自定义图像属性保存到文件

  26. 26

    将自定义元数据保存到Shipstation的WooCommerce订单

  27. 27

    将自定义部分保存到配置文件

  28. 28

    无法将自定义数组保存到数据库

  29. 29

    将自定义对象数组保存到共享首选项

热门标签

归档