0

製品タブを作成するためにモダン テーマの 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>

ただし、「アップセル」タブは、アップセル製品が割り当てられている場合にのみ表示されることに気付きました。表示するコンテンツがある場合、これと同じ機能を使用してカスタム製品属性を表示したいと考えています。

だから私が求めているのは、アップセルが製品が割り当てられていないことをどのように検出するので、タブが表示されないので、カスタムタブに対してこれを行うことができるかということです. 私のカスタム タブの phtml ファイルは次のようになります。

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

どんな助けでも大歓迎です:)

4

2 に答える 2

0

upsell.phtmlのコードの最初の行は、外観を制御します。

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

私はあなたのコードが単に真であると評価し、常にそのセクションを示していると推測しています。$ this-> getProduct()-> getHowToUse()からの出力は何ですか?

于 2012-05-10T13:10:06.683 に答える
0

それは私の上に1行あったことが判明しました:

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

つまり、空白であってもコンテンツが存在するため、登録されました。空白を取り除き、現在は機能しています。

于 2012-05-10T17:01:37.587 に答える