2013-10-24 3 views
0

Это мое первое сообщение здесь, поэтому я приношу свои извинения за что-то глупое, что я сделаю. У меня есть магазин Magento (с установленной на нем темой) На странице продуктов У меня есть статический блок с идентификатором продукта. Я создал файл PHTML (product_id.phtml), в котором у меня есть следующий код:Идентификатор продукта в статическом блоке - Magento

$_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"}} 

ОК, проблема заключается в том, что идентификатор продукта отображается, но только в первый раз на странице продукта. После этого не имеет значения, если я перейду к другому продукту, он все равно покажет идентификатор первого продукта. Я читал здесь и другие форумы, и я предполагаю, что это проблема с кешем. Исправить может быть отключить кеш на этом конкретном статическом блоке, но я не знаю, как это сделать. Может кто-то помочь, пожалуйста. Aaa .. и объясните, пожалуйста, новичка. Спасибо вам

ответ

0

Почему вы не просто делать это:

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

Нет необходимости инициализировать модель продукта снова. В любом случае - вы пытались отключить кеш, чтобы увидеть, изменился ли идентификатор?

+0

Да, я попробовал, и это единственный способ, которым я мог бы сделать его работу. Я отключил кеш для BLOCK HTML. –

0

в статическом блоке

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

в product_id.phtml

<?php echo $this->getPid();?>