0

我在下面使用此代码:

<div class="feat-product">
        <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('feat_products')->toHtml() ; ?>
</div>
<div id="products-recently-viewed" style="border-bottom:1px dashed #ccc; padding-bottom:10px;">
        <?php echo $this->getChildHtml('upsell_products') ?>
</div>

目前您可以看到两个块都在显示,我想做它,所以只有 feat_products 始终显示UNLESS产品的 Upsell 中有产品,在这种情况下,我需要它不显示 feat_products 并ONLY显示 upsell 部分。

希望有人曾经偶然发现过这个并且可以提供帮助。

4

1 回答 1

2

在 PHP 中,您可以嵌入条件并将 html 放在中间。例如:

<?php if (strlen($this->getChildHtml('upsell_products')) > 0) { ?>
<div class="feat-product">
        <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('feat_products')->toHtml() ; ?>
</div>
<?php } ?>

如果没有产品,我假设您的 getChildHtml 函数返回一个空字符串。根据需要调整...

于 2012-09-13T11:54:27.220 回答