Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstellt man in Magento ein konfigurierbares Produktattribut basierend auf Benutzereingaben?

Wie erstellt man in Magento ein konfigurierbares Produktattribut basierend auf Benutzereingaben?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 03:05:30423Durchsuche

 How to Build a Configurable Product Attribute Based on User Input in Magento?

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

  • Erstellen Sie eine .phtml-Vorlage, um den erforderlichen HTML-Code zu generieren.
  • Überschreiben Sie app/design/frontend/base/default/catalog /product/view/type/default.phtml-Vorlage, um Ihre Vorlage einzubinden.
  • Erfassen Sie die Benutzereingaben über ein Element.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn