製品タブを作成するためにモダン テーマの 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>
どんな助けでも大歓迎です:)