Tek bir özellik için tüm mağaza görünümleri için tüm seçenekler nasıl elde edilir?


13

Örneğin tek bir özellik için tüm mağaza görünümleri için tüm seçenekleri almaya çalışıyorum color.

Özellik için coloriki seçenek oluşturdum blueve white. Tüm mağaza görünümleri için tüm seçenekleri etiketleri döndürmek için varsayalım aşağıdaki kodu denedim, ama sadece adminbenim için seçenek etiketini döndürür .

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

Aşağıdakiler color, her mağaza görünümü için tüm özellik başlıklarını almak için uygundur, ancak seçenekler için çalışmaz.

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

Renk özelliğimin ve seçeneklerimin ekran görüntüsü.

Yanıtlar:


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

Ve 1 belirli mağaza görünümüne nasıl kaydedilir?
snh_nl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.