我正在创建一个属性并将其分配给所有属性集。 我发现在您对所有产品进行批量更新之前,新属性与所有产品无关。
有没有办法让这个过程自动化?
我使用以下代码创建属性并将其分配给所有属性集
<?php
$installer = $this;
$installer->startSetup();
$attr = Mage::getResourceModel('catalog/eav_attribute')->loadByCode('catalog_product', 'new_boolean_attribute');
if (!$attr->getId())
{
$attribute = $installer->addAttribute('catalog_product', 'new_boolean_attribute', array(
'type' => 'int',
'input' => 'boolean',
'backend' => '',
'frontend' => '',
'label' => 'Exclude from Product Rules',
'source' => 'eav/entity_attribute_source_table',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'required' => false,
'user_defined' => true,
'unique' => false,
'default' => '0',
));
}
$attributeGroupName = 'General';
$entityTypeId = $installer->getEntityTypeId('catalog_product');
$sets = Mage::getModel('eav/entity_attribute_set')->getResourceCollection();
foreach($sets as $set)
{
//Do for all attribute sets
$attributeSetId = $set->getData('attribute_set_id');
$installer->addAttributeGroup($entityTypeId, $attributeSetId, $attributeGroupName, 3);
$attributeGroupId = $installer->getAttributeGroupId($entityTypeId, $attributeSetId, $attributeGroupName);
$attributeId = $installer->getAttributeId($entityTypeId, 'new_boolean_attribute');
$installer->addAttributeToGroup($entityTypeId, $attributeSetId, $attributeGroupId, $attributeId, null);
}
$installer->endSetup();
答案 0 :(得分:0)
尝试从磁控管理面板重新编制索引。