我在我的产品中添加了一个新属性(布尔“是/否”字段)。它们是用于启用/禁用价格的变量,以显示在产品详细信息页面和网格视图上。
我设法让它在产品信息页面上运行。但是在产品网格页面上我似乎无法访问这些变量。具体来说,我正在使用的模板是catalog / product / list.phtml。
我尝试在xml文件中添加它们,就像这个layout / catalog.xml:
<block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">
<action method="addAttribute"><name>DisplayPrice</name></action>
<action method="addAttribute"><name>CustomOrder</name></action>
</block>
我试图在catalog / product / list.phtml中访问类似的属性:
<?php echo $_product->getDisplayPriceName()? "Yes" : "No" ; echo $_product->getCustomOrderName()? "Yes" : "No" ;?>
我还添加了Mage配置文件app / code / core / Catalog / etc / config.xml:
<frontend>
<!---- stuff before this -->
<product>
<collection>
<attributes>
<name />
<url_key />
<price />
<special_price />
<custom_order /> <!--new attribute -->
<display_price /> <!--new attribute -->
<special_from_date />
<special_to_date />
<short_description />
<thumbnail />
<small_image />
<image_label />
<thumbnail_label />
<small_image_label />
<tax_class_id />
<status />
<news_from_date />
<news_to_date />
<created_at />
<updated_at />
</attributes>
</collection>
</product>
</frontend>
此时我在黑暗中拍摄。我对Magento后端知之甚少,不知道我还需要去哪里看看。任何反馈将不胜感激。
提前感谢。
答案 0 :(得分:0)
加载产品时,请指定要加载的自定义属性.Magento默认情况下不加载它们。虽然在我看来它应该。
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect("custom_order")
->addAttributeToSelect("display_price ")
;