Magento - 依照使用者輸入報價/訂購產品項目屬性
摘要
此問題解決了建立自訂產品屬性的需求,該屬性可以由使用者在結帳過程中動態添加到產品中,但在產品編輯頁面或屬性集中不可見。此屬性應與報價/訂單項目一起捕獲、驗證和存儲,並顯示在發票、訂單和其他相關文件上。
用於報價項目操作的事件觀察器
第一步是捕獲並儲存報價項目上的自訂屬性。這可以透過 catalog_product_load_after 事件的事件觀察器來實現。觀察者可以從 extra_options 參數檢索 POSTed 數據,並將其作為名為 additional_options 的自訂選項新增至產品模型。
要訂購的其他選項項目
Magento 會自動將附加選項從產品傳輸到報價項目。為了確保選項在結帳後仍然存在,可以使用另一個事件觀察器在 sales_convert_quote_item_to_order_item 事件期間將選項從報價項目移至訂單項目。
支援重新訂購
如果重新排序時需要保留自訂屬性,可以為 checkout_cart_product_add_after 事件建立一個額外的事件觀察者。該觀察者可以在重新訂購過程中向報價項目添加自訂選項。
在訂單和報告上顯示
附加選項可以在發票、訂單、和其他文檔,透過覆蓋適當的模板,例如app/design/ frontend/base/default/sales/order/view.phtml。可以將自訂邏輯新增至這些範本中以取得和顯示其他選項。
過濾訂單集合
根據自訂屬性值(自訂資源)過濾訂單集合可以建立模型來擴充銷售/訂單資源。此資源模型可用於透過重寫 _loadOrders 方法來取得具有特定自訂屬性值的訂單。
以上是以下是一些適合文章內容的基於問題的標題: * 如何在 Magento Checkout 中建立動態產品屬性? * 將基於使用者輸入的產品屬性新增至 Magento 訂單:A Co的詳細內容。更多資訊請關注PHP中文網其他相關文章!