Konfigurierbare Produktattribute basierend auf Benutzereingaben
Einführung
Magento ermöglicht die Erstellung von Produktattributen, die die Funktionalität erweitern der Produkte im System. Während benutzerdefinierte Attribute eine tiefere Kontrolle über die Produktanpassung bieten, können sie auf Produktbearbeitungsseiten angezeigt werden. In diesem Artikel wird eine Lösung zum Erstellen eines Attributs vorgestellt, das sich anders verhält: Es wird nicht in Produkten gespeichert, wird auf Produktbearbeitungsseiten ausgeblendet und wird nach der Konfiguration durch Kunden auf Bestell-/Angebotspositionen angezeigt.
Umsetzung
1. Hinzufügen des Eingabefelds zur Produktseite
2. Validierung und Speichern der Eingabe
- Verwenden Sie einen Ereignisbeobachter, um auf das Ereignis „catalog_product_load_after“ zu warten.
- Rufen Sie den Eingabewert mit $product->getCustomOption('info_buyRequest') ab. .
- Validieren und speichern Sie den Wert mit einem sales_quote_item_qty_set_after-Ereignisbeobachter.
3. Anzeigen des Werts für Bestellung/Angebot/Berichte
- Serialisieren Sie den Eingabewert und speichern Sie ihn als benutzerdefinierte Option „additional_options“ für das Produkt und die Angebots-/Bestellartikel.
- Verwenden Sie a Benutzerdefinierter Formatierer oder überschreiben Sie die Auftrags-/Angebotsansichtsvorlagen, um den Attributwert anzuzeigen.
4. Bestellungen nach Eingabewert filtern
- Verwenden Sie zum Filtern die Syntax Mage::getResourceModel('sales/order_item_collection')->addAttributeToFilter('additional_options["my_attribute"]', $value). Bestellungen.
Zusätzliche Überlegungen
- Übersetzung: Verwenden Sie einen Angebots-/Auftragsartikelladebeobachter, um die übersetzte Attributbezeichnung oder den übersetzten Attributwert festzulegen.
- Nachbestellungsunterstützung: Stellen Sie sicher, dass der Attributwert bei Nachbestellungen vom Angebotsartikel in den Bestellartikel kopiert wird (mithilfe eines checkout_cart_product_add_after-Ereignisbeobachters).
Das obige ist der detaillierte Inhalt vonWie erstellt man in Magento ein konfigurierbares Produktattribut basierend auf Benutzereingaben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!