Magento – Hinzufügen benutzerdefinierter Produktattribute zu Angeboten und Bestellungen
Einführung
Magento bietet eine anpassbare Plattform, die es Benutzern ermöglicht, ihre Funktionalität mit benutzerdefinierten Attributen zu erweitern. In dieser Anleitung wird gezeigt, wie Sie ein Produktattribut erstellen, das speziell für Angebots- und Bestellartikel entwickelt wurde, sodass Benutzer dieses Attribut während des Bestellvorgangs konfigurieren und erfassen können.
Erstellen und Hinzufügen des Attributs
Beibehalten des Attributs in Bestellungen
Anzeige des Attributs
Zusätzliche Überlegungen
Beispielcode
Catalog Product Load After Event Observer
<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>
Verkäufe konvertieren Angebotsartikel in Auftragsartikel-Ereignisbeobachter
<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>
Benutzerdefinierte Attributanzeige in Vorlage
<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>
Das obige ist der detaillierte Inhalt vonWie füge ich benutzerdefinierte Attribute zu Angeboten und Bestellungen in Magento hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!