Wie erhalte ich alle Optionen für alle Geschäftsansichten für ein einzelnes Attribut?


13

Ich versuche, alle Optionen für alle Geschäftsansichten für ein einzelnes Attribut abzurufen, z color.

Für das Attribut habe colorich zwei Optionen angelegt blueund white. Ich habe den folgenden Code ausprobiert, der angeblich alle Optionsbezeichnungen für alle Geschäftsansichten zurückgibt, aber nur die adminOptionsbezeichnung für mich zurückgibt .

$option_arr = array();
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'color');
foreach ($attribute->getSource()->getAllOptions(false) as $option) {
  $option_arr[$option['value']] = $option['label'];
}
// $option_arr contains Array([4] => Blue, [3] => White)

Das Folgende funktioniert einwandfrei, um alle Attributtitel colorfür jede Geschäftsansicht abzurufen, funktioniert jedoch nicht für Optionen.

$product = Mage::getModel('catalog/product')->load();
$attribute_title = $product->getResource()->getAttribute('color');
// $attribute_title contains Array([1] => ~~~, [2] =>Color, [3] => Couleur, [4] => Còôlòôr)

Screenshot meiner Farbattribute und -optionen.

Antworten:


16
    /**
     * @var $config  Mage_Eav_Model_Config
     * @var $options Mage_Eav_Model_Resource_Entity_Attribute_Option_Collection
     */
    $storeId   = 3;
    $config    = Mage::getModel('eav/config');
    $attribute = $config->getAttribute(Mage_Catalog_Model_Product::ENTITY, 'color');
    $values    = $attribute->setStoreId($storeId)->getSource()->getAllOptions();
    print_r($values);

    //here is another method
    $options = Mage::getResourceModel('eav/entity_attribute_option_collection');
    $values  = $options->setAttributeFilter($attribute->getId())->setStoreFilter($storeId)->toOptionArray();
    print_r($values);

Und wie speichere ich es in einer bestimmten Storeview?
snh_nl
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.