为类别尺寸表创建自定义图像属性
-
13-12-2019 - |
题
我想在类别中创建一个图像属性,该属性映射到 PDP 中的尺码表。以下是我的安装脚本和 config.xml 文件。
我的属性是在 eav_attribute 表中创建的,但未映射到类别表。所以我在保存字段时收到错误。任何人都可以帮助我使用正确的代码来创建类别属性并保存在相应的类别表中。
配置文件
<global>
<resources>
<catalogsize_setup>
<setup>
<module>XYZ_Catalog</module>
<class>Mage_Eav_Model_Entity_Setup</class>
</setup>
</catalogsize_setup>
</resources>
<global>
安装脚本
$installer = $this;
$installer->startSetup();
$attribute = array(
'type' => 'varchar',
'label'=> 'Size Chart',
'input' => 'image',
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'visible' => true,
'required' => false,
'user_defined' => true,
'default' => "",
'group' => "General Information"
);
$installer->addAttribute('catalog_category', 'size_chart', $attribute);
$installer->endSetup();
在类别页面后端保存属性时出错:
SQLSTATE[42S22]:未找到列:1054未知列“ size_chart”在“字段列表”中,查询是:插入
catalog_category_flat_store_2
(entity_id
,parent_id
,created_at
,updated_at
,path
,position
,level
,children_count
,store_id
,all_children
,available_sort_by
,children
,custom_apply_to_products
,custom_design
,custom_design_from
,custom_design_to
,custom_layout_update
,custom_use_parent_settings
,default_sort_by
,description
,display_mode
,filter_price_range
,image
,include_in_menu
,is_active
,is_anchor
,landing_page
,meta_description
,meta_keywords
,meta_title
,name
,page_layout
,path_in_store
,size_chart
,url_key
,url_path
)值(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,,?,?,?,,?,? ,?,?,?,?,?,?,?,?,??)entity_id
= 值(entity_id
),parent_id
= 值(parent_id
),created_at
= 值(created_at
),updated_at
=值(updated_at
),path
= 值(path
),position
=值(position
),level
= 值(level
),children_count
=值(children_count
),store_id
= 值(store_id
),all_children
= 值(all_children
),available_sort_by
=值(available_sort_by
),children
= 值(children
),custom_apply_to_products
= 值(custom_apply_to_products
),custom_design
= 值(custom_design
),custom_design_from
=值(custom_design_from
),custom_design_to
=值(custom_design_to
),custom_layout_update
=值(custom_layout_update
),custom_use_parent_settings
=值(custom_use_parent_settings
),default_sort_by
=值(default_sort_by
),description
= 值(description
),display_mode
= 值(display_mode
),filter_price_range
=值(filter_price_range
),image
= 值(image
),include_in_menu
= 值(include_in_menu
),is_active
=值(is_active
),is_anchor
= 值(is_anchor
),landing_page
= 值(landing_page
),meta_description
= 值(meta_description
),meta_keywords
= 值(meta_keywords
),meta_title
= 值(meta_title
),name
= 值(name
),page_layout
= 值(page_layout
),path_in_store
=值(path_in_store
),size_chart
= 值(size_chart
),url_key
= 值(url_key
),url_path
= 值(url_path
)
解决方案
这是因为我的类别平面表已启用,并且在创建自定义图像属性后,我没有执行重新索引,只有在启用后该属性才会添加到平面表中。