Magento 通过添加属性扩展属性
我有一个Magento站点,它将包含许多属性和属性集。每个类别都有自己的集合,客户希望类别和产品视图根据所属类别显示不同的属性 这在switch/if语句中很容易做到,但如果可能的话,我不想硬编码 我的想法是在属性中添加一个新属性,名为在_frontend'上显示_,然后我可以在循环中使用它来查看是否应该显示属性。这可能吗 前端的产品视图页面上已经有一个名为Visible的属性,我最初想使用它,但当我获得该属性时,它在数据中不可用 下面是我用来获取产品视图属性的代码Magento 通过添加属性扩展属性,magento,Magento,我有一个Magento站点,它将包含许多属性和属性集。每个类别都有自己的集合,客户希望类别和产品视图根据所属类别显示不同的属性 这在switch/if语句中很容易做到,但如果可能的话,我不想硬编码 我的想法是在属性中添加一个新属性,名为在_frontend'上显示_,然后我可以在循环中使用它来查看是否应该显示属性。这可能吗 前端的产品视图页面上已经有一个名为Visible的属性,我最初想使用它,但当我获得该属性时,它在数据中不可用 下面是我用来获取产品视图属性的代码 $_attributes =
$_attributes = Mage::getModel('catalog/product_attribute_api')->items($_product->getAttributeSetId());
foreach ($_attributes as $_attribute) :
$attributeFull = Mage::getResourceModel('eav/entity_attribute_collection')
->setCodeFilter($_attribute['code'])
->getFirstItem();
endforeach;
返回内容的一个示例响应是
[_data:protected] => Array
(
[attribute_id] => 139
[entity_type_id] => 4
[attribute_code] => safe_working_load_range_tonnes
[attribute_model] =>
[backend_model] =>
[backend_type] => int
[backend_table] =>
[frontend_model] =>
[frontend_input] => select
[frontend_label] => Safe Working Load (Tonnes)
[frontend_class] =>
[source_model] => eav/entity_attribute_source_table
[is_required] => 0
[is_user_defined] => 1
[default_value] =>
[is_unique] => 0
[note] =>
)
是否有人对如何扩展属性或以合理的方式解决问题有任何建议
谢谢您在后端,当您创建属性时,有一个“是/否”选项,标记为“在前端的产品视图页面上可见” 转到管理>目录>属性>管理属性>选择您的属性“在前端显示”>前端属性>将“在前端产品视图页面上可见”更改为“是” 然后,要访问该属性的值,只需调用:
$_product->getData("display_on_frontend");
或者只使用camel case getter:
$_product->getDisplayOnFrontend();
嗨,迈克,谢谢你的回复。很抱歉,如果我没有正确解释我自己,但是我需要在属性上创建一个新属性,而不是一个新属性本身。没关系,由于时间不够,我走了一条不同的路,虽然是硬编码的,但如果有人知道我会有兴趣听到,如果可能的话。。。