0

这是情况。我们有一个配置器扩展,我们希望仅在特定产品的产品页面上显示它。扩展设置为静态块。我的想法是我可以在 PHP 中使用 if 语句,使用 XML 来定义模板。

这是我的目录 XML:

<reference name="content">
    <block type="partfinder/selector" name="partfinder_selector" template="partfinder/selector.phtml"/>
</reference>

这是我在 view.php 文件中的 PHP:

<?php
if ($_product->getSku() = 10007)
{
echo $this->getChildHtml('partfinder_selector');
}
?>

我错过了什么?现在,这只会破坏我的产品页面;他们都是。

有没有更好的方法来做我想要完成的事情?我知道以这种方式使用 CMS 块是不好的形式,但是,这似乎是扩展的本质。

4

1 回答 1

2

您可以使用如下:

<?php 
if ($_product->getSku() == '10007') {
    echo $this->getLayout()->createBlock('cms/block')->setBlockId('partfinder_selector')->toHtml();
}
?>

您在 if 语句中也错过了 == 。

于 2013-10-24T13:57:18.227 回答