Frage

Ich bin kurz davor, einen Online -Shop einzurichten, und ich "testet", wenn Magento (1.7, Community Edition) zu meinen Bedürfnissen entspricht. Ich glaube, ich habe die Idee hinter der Kategorisierung und Attributierung von Produkten bekommen. Aber ich habe eine Frage zu den Attributen zu Produkten - oder im Detail: für konfigurierbare Produkte.

Ist es möglich, Attributwerte (Optionen) aus einem anderen vorhandenen Attribut zu "erben"?

Ich werde Ihnen ein Beispiel geben, um meine Frage zu visualisieren:

Nehmen wir an, wir verkaufen Kisten. Wir hätten drei verschiedene Arten von Kästchen:

  1. Uni-Color-Boxen ("Box-Color")
  2. Kisten mit einer separaten "oberen Farbfarbe"
  3. Boxen mit einem speziellen Druck darauf, der seine eigene Farbe hat ("Highlight -Farbe")

Um Farben dem Feld Typ Nr. 1 zuzuweisen, hätte ich die möglichen Werte

  • Schwarz,
  • Weiß,
  • Orange.

Box Typ #2 könnte kommen als

  • Black Box / Black Top (es mag überflüssig erscheinen, aber es gibt einen Unterschied zu uni-farbigen Kisten).
  • schwarze Box / weißes Oberteil,
  • Black Box / Orange Top,
  • weiße Box / schwarzes Oberteil,
  • weiße Box / weißes Oberteil,
  • weiße Box / Orange Top,
  • usw.

Und schließlich könnte der Box Typ #3 kommen als

  • Black Box / Black Top / Black Highlight,
  • Schwarz / Weiß / Orange,
  • Schwarz / Schwarz / Weiß,
  • usw.

Ich denke, Sie haben die Idee.

Ich möchte ein Attribut von Farboptionen haben, das ich beibehalten würde (z.

Um konfigurierbare Produkte erstellen zu können, würde ich meinen speziellen "Boxes" -attribut-Sets (n) die Farb-Attribute hinzufügen. Aber wenn es um die zweifarbigen Boxen geht, kann ich das Farbattribut ein zweites Mal nicht hinzufügen.

Gibt es eine andere (einfache) Möglichkeit, dies zu erreichen? Da ich in Magento neu bin, möchte ich nicht zu tief in den Code graben oder sogar ein Modul entwickeln (?).

Vielen Dank im Voraus, ich schätze Ihre Antworten :-)

War es hilfreich?

Lösung

Magento unterstützt das, was Sie brauchen, aber es ist eine lange Einstellung.
Sie können ein anderes Quellmodell für Ihre Dropdowns einstellen.
Nehmen wir zum Beispiel das Attribut tax_class_id. Es ist ein Dropdown eav_attribute_option und eav_attribute_option_value). Das Quellmodell ist tax/class_source_product das in einer nicht kundenspezifischen Instanz bedeutet der Klasse Mage_Tax_Model_Class_Source_Product.
Im Falle des tax_class_id Die im Dropdown angegebenen Optionen sind das Ergebnis von Mage_Tax_Model_Class_Source_Product::getAllOptions().
Sie können eine benutzerdefinierte Erweiterung mit einem benutzerdefinierten Modell (oder 3 - für jedes Attribut) erstellen. Stellen Sie diese Modelle so ein, dass Sie das Quellmodell für Ihre Attribute sind, und fügen Sie Ihre Logik in die getAllOptions() Methode. In dieser Methode können Sie die Werte aus einer Tabelle abrufen oder sie harter codieren und sie sogar durch eine externe API erhalten.
Ihre benutzerdefinierten Quellmodelle sollten sich erstrecken Mage_Eav_Model_Entity_Attribute_Source_Abstract und sollte die folgenden Methoden haben:

  • getAllOptions() - Hier ist die Logik. Dies sollte eine Reihe von Arrays zurückgeben. Das Array auf der unteren Ebene sollte so aussehen wiearray('value'=>'SOME NUMBER HERE', 'label'=>'Label here');
  • getOptionText() sollte ähnlich sein wie der in Mage_Tax_Model_Class_Source_Product
  • toOptionArray() ähnlich dem in Mage_Tax_Model_Class_Source_Product.
  • getFlatColums()ähnlich dem in Mage_Tax_Model_Class_Source_Product Ändern Sie einfach den Spaltenkommentar
  • getFlatUpdateSelect() ähnlich dem in Mage_Tax_Model_Class_Source_Product

Überprüfen Sie dies Für ein kleines Tutorial zum Hinzufügen eines Attributs mit benutzerdefinierten Optionen
Folgen Sie auch, wie das Quellmodell für tax_class_id wird gemacht. Es hilft.

Andere Tipps

Sie sollten in der Lage sein, ein einzelnes Attribut dafür zu verwenden, da die Farbattribsue nur den ausgewählten Wert anzeigt. Auch die konfigurierbaren Produkte zeigen nur die zugehörigen Farben für die einfachen Produkte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top