如果内容存在,则为magento show标签

时间:2012-05-10 08:47:19

标签: magento tabs product

我使用现代主题中的tab.phtml来创建产品标签,但是我已经将其切换为使用jquery和jquery-ui,因为我需要直接链接到标签。

因此,在坚果壳中,代码与现代主题中的代码几乎相同。

    <div id="tabs">
<ul>
    <?php foreach ($this->getTabs() as $_index => $_tab): ?>
        <?php if($this->getChildHtml($_tab['alias'])): ?>
            <li class="<?php echo !$_index?' active first':(($_index==count($this->getTabs())-1)?' last':'')?>"><a href="#<?php echo $_tab['alias'] ?>"><?php echo $_tab['title']?></a></li>
        <?php endif; ?>
    <?php endforeach; ?>
</ul>
<div class="clearer"></div>
<?php foreach ($this->getTabs() as $_index => $_tab): ?>
    <?php if($this->getChildHtml($_tab['alias'])): ?>
        <div class="product-tabs-content" id="<?php echo $_tab['alias'] ?>"><?php echo $this->getChildHtml($_tab['alias']) ?></div>
    <?php endif; ?>
<?php endforeach; ?>
</div>

并且我在catalog.xml下使用相同的方法添加自定义标签:

<action method="addTab" translate="title" module="catalog"><alias>how-to-use</alias><title>How to Use</title><block>catalog/product_view</block><template>catalog/product/view/how-to-use.phtml</template></action>
然而,我已经注意到标签&#39; upsells&#39;仅在分配了追加产品时出现。如果有要显示的内容,我想使用相同的功能来显示自定义产品属性。<​​/ p>

所以我要问的是,加售会如何检测到没有分配产品,因此没有显示标签,所以我可以为我的自定义标签执行此操作。我的自定义标签phtml文件如下所示:

<?php $_howtouse = $this->getProduct()->getHowToUse(); ?>
<?php if ($_howtouse): ?>
<div class="std">
    <?php echo $this->helper('catalog/output')->productAttribute($this->getProduct(), $_howtouse, 'howtouse') ?>
</div>

感谢任何帮助,谢谢:)

2 个答案:

答案 0 :(得分:0)

upsell.phtml中的第一行代码控制外观:

<?php if(count($this->getItemCollection()->getItems())): ?>

我猜测你的代码只是评估为true并且总是显示该部分。您从$ this-&gt; getProduct() - &gt; getHowToUse()的输出是什么?

答案 1 :(得分:0)

原来我的上面有一行:

<?php $_howtouse = $this->getProduct()->getHowToUse(); ?>

这意味着它注册为有一些内容都是白色空间。 摆脱现在的空白。