显示Slider,除非存在Upsells-PHP if Statment


Show Slider Unless Upsells Exist - PHP if Statment

我使用以下代码:

<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_product,ONLY显示Upsell部分。

希望有人以前偶然发现过这一点,并能提供帮助。

在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函数将返回一个空字符串。根据需要调整。。。