Magento - konfigurierbare Produktoptionsbilder

Momentan arbeite ich daran, Bilder für Produktoptionen zu erhalten, die in meinem ersten Magento-Build angezeigt werden. ich habeDIESE für gebündelte Produkt herausgefunden, wie so:

Ich erhalte URLs verwandter Bilder (z. B. Farbfelder), wenn die Optionen für die Auswahl erstellt werden. Jetzt versuche ich, dasselbe mit konfigurierbaren Produkten zu tun, aber es scheint nicht so einfach zu sein.

Konfigurierbare Produkte setzen sich aus einfachen Produkten zusammen, die jede Iteration der verfügbaren Optionen darstellen. Großartig. Ich kann natürlich Bilder für jedes einfache Produkt hochladen, und das wäre ein guter Anfang für eine Lösung dafür.

Zum Beispiel: Stuhl hat 3 Polster und 2 Armlehnen zur Auswahl (6 einfache Produkte). Für Stuhl 2 / b lade ich Polstermuster 2 und Armlehnenmuster b hoch und beschrifte sie entsprechend. Wenn die Optionen erstellt werden, greife ich nach Bild-URLs, die mit den einzelnen einfachen Produkten verknüpft sind (z. B. nach allen Bildern für dieses Etikett und entferne Duplikate oder Ähnliches?) ...

In Magento sehe ich:

ImThema / Katalog / Produkt / Ansicht / Typ / Option / configure.phtml

<?php foreach($_attributes as $_attribute): ?>
    ..// 
    <select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="required-entry super-attribute-select">
        <option><?php echo $this->__('Choose an Option...') ?></option>
    </select>
    ..//
</div>
<?php endforeach; ?>
<script type="text/javascript">
    var spConfig = new Product.Config(<?php echo $this->getJsonConfig() ?>);
</script>

Im Gegensatz zum Bundle werden die konfigurierbaren Produktauswahloptionen über Javascript (injs/varien/configurable.js). Diese Klasse ist dann abhängig vongetJsonConfig() danach alle Informationen zu liefern.

An diesem Punkt scheint es mir möglich zu sein, die Bild-URL-Informationen eines einfachen Produkts von diesem Objekt zu erhalten. Tho sehe ich keine Logik, die überhaupt mit Bildern in configure.js beschäftigt.Wie würde ich vorgehen, um diese URLs zu erhalten und sie mit den entsprechenden Auswahloptionen zu verknüpfen?

Jeder Rat, wie ich damit vorgehen soll, wäre großartig.

Prost

... auch: Das scheint wirklich eine absolut unerlässliche Funktionalität zu sein. Warum würde Magento so etwas nicht sofort unterstützen?

aktualisieren

Ich habe es endlich herausgefunden, für diejenigen, die sich für etwas Ähnliches interessieren.

Meine erste Methode, um damit umzugehen, war, dass das Abrufen von Bildern von den untergeordneten Produkten bis zu einem gewissen Grad funktioniert hat, sich jedoch beim Versuch, eindeutige Bild-URLs für mehrere Attributgruppen abzurufen, verwickelte. Es bedeutete auch, ein Image für jede Option in einem einfachen Produkt bereitstellen zu müssen - also eine Menge unnötiger Arbeit.

Am Ende habe ich das verwendetkostenloses Plugin (mit einigen Modifikationen), die @Greg Demetrick vorgeschlagen hat. Es ist ein ziemlich solides kleines Modul, mit dem Bild-URLs mit jeder Attributoption verknüpft werden können.

Meine endgültige Lösung sieht ungefähr so ​​aus:

katalog / produkt / ansicht / typ / optionen / konfigurierbar.phtml:

<?php foreach($_attributes as $_attribute): ?>

  // markup for the attribute

    <script type="text/javascript">
        //<![CDATA[
        var attribute_data_<?php echo $_attribute->getAttributeId() ?> = {};
            attribute_data_<?php echo $_attribute->getAttributeId() ?>.id = '<?php echo $_attribute->getAttributeId() ?>';
            attribute_data_<?php echo $_attribute->getAttributeId() ?>.title = '<?php echo $_attribute->getLabel() ?>';
            attribute_data_<?php echo $_attribute->getAttributeId() ?>.data = {};
        <?php 
        $a = Mage::getModel('eav/config')->getAttribute('catalog_product', $_attribute->getAttributeId() );
        $helper = Mage::helper('attributeoptionimage');
        foreach ( $a->getSource()->getAllOptions(true) as $option): ?>
            attribute_data_<?php echo $_attribute->getAttributeId() ?>.data.option_<?php echo $option['value'] ?> = {};
            attribute_data_<?php echo $_attribute->getAttributeId() ?>.data.option_<?php echo $option['value'] ?>.val = '<?php echo $option['value'] ?>';
            attribute_data_<?php echo $_attribute->getAttributeId() ?>.data.option_<?php echo $option['value'] ?>.imageurl = '<?php echo $helper->getAttributeOptionImage($option['value']); ?>';
            attribute_data_<?php echo $_attribute->getAttributeId() ?>.data.option_<?php echo $option['value'] ?>.imgtitle = '<?php echo $option['label']; ?>';
        <?php endforeach; ?>
        //]]>
    </script>

    <?php endforeach; ?>

Dies wird im Markup gedruckt, ein Satz für jedes Attribut. Was gut funktioniert, aber alle Optionen für das Attribut zurückgibt, anstatt nur die für das Produkt ausgewählten Optionen (Daten, die das Attribut betreffen)getJsonConfig() Objekt hat gespeichert). Also, dann teste ich einfach meineattribute_data_xxx Objekt gegen diespConfig, und senden Sie die eindeutigen Übereinstimmungsoptionen an mein Controller-Skript.

VerlängerngetJsonConfig das Attribut URLs zu greifen würde wahrscheinlich auch funktionieren ...

Was auch immer der Fall sein mag - hier ging es vor allem darum, Bild-URLs den Attributoptionen selbst zuzuordnen (anstelle von Produkten).

Prost

Antworten auf die Frage(2)

Ihre Antwort auf die Frage