Як отримати всі параметри для всіх переглядів магазину для одного атрибута?


13

Я намагаюся отримати всі параметри для всіх представлень магазину для одного атрибута, наприклад color.

Для атрибута colorя створив два варіанти blueі white. Я спробував наступний код, який передбачає повернення всіх міток параметрів для всіх представлень магазинів, але повертає лише adminмітку опцій для мене.

$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)

Наведене нижче чудово працює для отримання всіх colorназв атрибутів для кожного перегляду магазину, але не працює для параметрів.

$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)

Знімок екрана мого кольорового атрибута та параметрів.

Відповіді:


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);

І як зберегти його до 1 певного перегляду магазину?
snh_nl
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.