0

这是我在这里的第一篇文章,所以我为我所做的任何愚蠢行为道歉。我有一个 Magento 商店(上面安装了一个主题) 在产品页面上,我有一个显示产品 ID 的静态块。我创建了 Phtml (product_id.phtml) 文件,其中包含以下代码:

$_prodID = Mage::registry('current_product')->getId();
$_product = Mage::getModel('catalog/product')->load($_prodID );
echo  $_prodID ;

在我调用的静态块上:

{{block type="core/template" name="product_id" template="myfolder/product_id.phtml"}}

好的,问题是产品 ID 确实显示但只是第一次出现在产品页面上。之后,如果我导航到另一个产品也没关系,它仍然会显示第一个产品的 ID。我也读过这里和其他论坛,我猜这是一个缓存问题。解决方法是禁用该特定静态块上的缓存,但我不知道该怎么做。有人可以帮忙吗。Aaa ..请为新手解释一下。谢谢

4

2 回答 2

0

你为什么不这样做:

echo Mage::registry('current_product')->getId();

无需再次初始化产品模型。无论如何-您是否尝试过禁用缓存以查看 id 是否更改?

于 2013-10-24T19:19:29.173 回答
0

在静态块中

{{block type="core/template" name="product_id" pid="1" template="myfolder/product_id.phtml"}}

在 product_id.phtml 中

<?php echo $this->getPid();?>
于 2013-10-25T07:00:55.413 回答