Bagaimana cara mendapatkan semua opsi untuk semua tampilan toko untuk satu atribut?


13

Saya mencoba mengambil semua opsi untuk semua tampilan toko untuk satu atribut misalnya color.

Untuk atribut colorsaya telah membuat dua opsi bluedan white. Saya telah mencoba kode berikut yang seharusnya mengembalikan semua label opsi untuk semua tampilan toko, tetapi hanya mengembalikan adminlabel opsi untuk saya.

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

Berikut ini berfungsi dengan baik untuk mendapatkan semua colorjudul atribut untuk setiap tampilan toko, tetapi tidak berfungsi untuk opsi.

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

Cuplikan layar dari atribut dan opsi warna saya.

Jawaban:


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

Dan bagaimana cara menyimpannya ke 1 tampilan toko tertentu?
snh_nl
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.