Magento - Menambah Atribut Produk Ditentukan Pengguna pada Petikan dan Pesanan
Pengenalan
Magento menawarkan platform yang boleh disesuaikan yang membolehkan pengguna memanjangkan fungsinya dengan atribut tersuai. Panduan ini akan menunjukkan cara membuat atribut produk yang direka khusus untuk item sebut harga dan pesanan, membolehkan pengguna mengkonfigurasi dan menangkap atribut ini semasa proses pembayaran.
Mencipta dan Menambah Atribut
Mengekalkan Atribut dalam Pesanan
Memaparkan Atribut
Pertimbangan Tambahan
Kod Contoh
Katalog Muatan Produk Selepas Pemerhati Peristiwa
<code class="php">public function catalogProductLoadAfter(Varien_Event_Observer $observer) { // Get the product $product = $observer->getProduct(); // Get the extra options $options = $action->getRequest()->getParam('extra_options'); // Add the extra options to the product $additionalOptions = array(); if ($additionalOption = $product->getCustomOption('additional_options')) { $additionalOptions = (array) unserialize($additionalOption->getValue()); } foreach ($options as $key => $value) { $additionalOptions[] = array( 'label' => $key, 'value' => $value, ); } $product->addCustomOption('additional_options', serialize($additionalOptions)); }</code>
Jualan Menukar Item Sebut Harga kepada Item Pesanan Pemerhati Acara
<code class="php">public function salesConvertQuoteItemToOrderItem(Varien_Event_Observer $observer) { // Get the quote item and order item $quoteItem = $observer->getItem(); $orderItem = $observer->getOrderItem(); // Get the additional options from the quote item $additionalOptions = $quoteItem->getOptionByCode('additional_options'); // Set the additional options on the order item $options = $orderItem->getProductOptions(); $options['additional_options'] = unserialize($additionalOptions->getValue()); $orderItem->setProductOptions($options); }</code>
Paparan Atribut Tersuai dalam Templat
<code class="php">// Get the product options $options = $_item->getOptions(); // Check if additional_options is set if (isset($options['additional_options'])) { // Get the additional options $additionalOptions = $options['additional_options']; // Add a placeholder row for the custom attribute echo '<tr> <td class="options label" title=""><span>' . $this->__('Custom Attribute') . '</span></td> <td class="options value" title=""> <span>' . $additionalOptions[0]['value'] . '</span> </td> </tr>'; }</code>
Atas ialah kandungan terperinci Bagaimana untuk menambah atribut tersuai pada petikan dan pesanan dalam Magento?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!