こんにちは私はsetup.phpで複数選択の製品属性を作成し、それが作成されました。私は次のコードを使用しました:
$installer = $this;
$installer->startSetup();
$installer->addAttribute('catalog_product', 'author_name',array(
'label' => 'Name of The Author',
'type' => 'varchar',
'input' => 'multiselect',
'backend' => 'eav/entity_attribute_backend_array',
'frontend' => '',
'source' => '',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => false,
'searchable' => false,
'filterable' => false,
'comparable' => false,
'option' => array ( 'value' => array('optionone' => array('Carolyne Aarsen'),
'optiontwo' => array('Jennie Lucas'),
'optionthree' => array('Anna Adams'),
'optionfour' => array('Kathryn Albright'),
'optionfive' => array('Trisha Alexander'),
'optionsix' => array('Vincent Alexandria'),
'optionseven' => array('Louise Allen'),
'optioneight' => array('Abby Green'),
'optionnine' => array('Laura Abbot'),
'optionten' => array('Caroline Anderson'),
'optioneleven' => array('Victoria Aldridge'),
'optiontwelve' => array('Harper Allen'),
)
),
'visible_on_front' => false,
'visible_in_advanced_search' => false,
'unique' => false,
'group' => 'General'
));
$installer->endSetup();
次に、サイトのナビゲーションメニューに含まれているすべてのカテゴリの各製品のauthor_name属性値を取得したいので、属性値を取得するために次のクエリを作成しました。
$categories = Mage::getModel('catalog/category')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('include_in_menu', '1');
foreach ($categories as $_category):
if ($_category->getName() != 'Root Catalog'):
$category = Mage::getModel('catalog/category')->load($_category->getId());
$products = $category->getProductCollection()
->addCategoryFilter($category)
->addAttributeToSelect('author_name')
->setPageSize(9);
$author_names = array();
foreach ($products as $_product):
$author_names[] = $_product->getAttributeText('author_name');
endforeach;
print_r($author_names);
endif;
endforeach;
配列は何も出力していません。これをデバッグすると、コレクションにauthor_name属性が含まれません。
私の質問に何か問題がありますか?私を助けてください