Magento在产品详细信息页面的自定义模块块中获取产品ID

时间:2016-07-01 15:56:01

标签: php magento

我有一个带有块的自定义模块,该块在产品详细信息页面中显示一个表单。我需要检索此块中当前查看的产品的产品ID。其他一切都在发挥作用。

其他答案建议尝试:

$this->getProduct()->getId(); // or
Mage::registry('current_product')->getId();

前者返回错误。在产品详细信息模板中使用此工具正常工作。我理解这是因为getProduct()不是块的方法。

后者总是返回null。

如果有人能帮助我,那就太好了。

提前致谢。

编辑:自定义块layout.xml

<layout version="0.1.0">
    <catalog_product_view>
        <reference name="content">
            <reference name="product.info">
                <block
                    type="s148_interestnotification/form"
                    name="interest_notification"
                    before="-"
                    template="s148_interestnotification/index.phtml"
                ></block>
            </reference>
        </reference>
    </catalog_product_view>
</layout>

2 个答案:

答案 0 :(得分:0)

试试这段代码:

$collection = Mage::getSingleton('Mage_Reports_Block_Product_Viewed')->getItemsCollection();

答案 1 :(得分:0)

如果您的自定义块正在扩展此类

  

Mage_Catalog_Block_Product_View

您可以轻松使用: $ this-&gt; getProduct()