我想在类别4的产品详细信息页面中添加一个静态块。我确实喜欢这样:
$catid = $this->helper('catalog/data')->getProduct()->getCategoryIds();
?>
<?php $blockID = "free_shipping_" + $catid ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($blockID)->toHtml()
?>
然后在admin中我创建了一个带有URL和blocktitle free_shipping_4
的静态块。
(free_shipping_4中的4表示类别4)。
我收到错误:
致命错误:第140行的C:\ wamp \ www \ mydomain \ app \ design \ frontend \ default \ mytheme \ template \ catalog \ product \ view.phtml中不支持的操作数类型
答案 0 :(得分:0)
$ catid = $ this-&gt; helper('catalog / data') - &gt; getProduct() - &gt; getCategoryIds(); ?&GT; getLayout() - &gt; createBlock('cms / block') - &gt; setBlockId($ blockID) - &gt; toHtml()?&gt;
$catid will contain array of id product is associated with.
我认为一种方法是创建一个产品属性,其中包含需要显示的类别ID,然后您可以检索产品属性。</ p>
<?php $blockID = "free_shipping_" + $productattributevalue ?>
答案 1 :(得分:0)
<?php $blockID = "free_shipping_" . $catid[1]?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($blockID)->toHtml();
要查找我有兴趣在静态块名称(free_shipping_4)中使用的目录ID,我使用了以下代码
SELECT entity_id AS categoryID, value AS categoryName
FROM catalog_category_entity_varchar
WHERE attribute_id =4
LIMIT 0 , 30
现在解决了。虽然必须有一个更好,更简单的方法来做到这一点。