无法在网格显示中访问新产品属性

时间:2010-04-12 22:26:02

标签: php zend-framework magento

我在我的产品中添加了一个新属性(布尔“是/否”字段)。它们是用于启用/禁用价格的变量,以显示在产品详细信息页面和网格视图上。

我设法让它在产品信息页面上运行。但是在产品网格页面上我似乎无法访问这些变量。具体来说,我正在使用的模板是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后端知之甚少,不知道我还需要去哪里看看。任何反馈将不胜感激。

提前感谢。

1 个答案:

答案 0 :(得分:0)

加载产品时,请指定要加载的自定义属性.Magento默认情况下不加载它们。虽然在我看来它应该。

$products = Mage::getModel('catalog/product')->getCollection()
    ->addAttributeToSelect("custom_order")
    ->addAttributeToSelect("display_price ") 
;