0

ショップごとにフロントエンドの商品属性の可視性を設定できるようにしたいと考えています。属性に「サイズ」があり、これをショップ A の商品詳細ページに表示したいのですが、ショップ B には表示したくありません。

管理カタログ > 属性 > 属性の管理で、「フロントエンドの製品ビュー ページに表示」を「はい」または「いいえ」に設定できます。現在は「いいえ」です。この設定はすべてのショップに適用されます。1 つのショップ (またはテンプレート) についてのみ、これを「はい」に設定したいと思います。

どうすればこれを機能させることができますか?

4

2 に答える 2

0

まず、以下のコードを使用して、フロントエンドで現在の店舗情報を取得する必要があります

Mage::app()->getStore()->getCode();

また

Mage::app()->getStore()->getName();    

また

Mage::app()->getStore()->getStoreId();

また

Mage::app()->getStore()->getWebsiteId();

現在のストア情報を取得したら、特定の属性を表示する条件を手動で作成できます。例: 「タイプ」という名前の属性を作成し、両方のストアの商品詳細ページの「追加情報」セクションに表示されているとします。この特定の属性をサイトの 1 つのストアのみに表示する条件を作成しました。テンプレート/カタログ/製品/ビュー/追加.phtml ページを変更し、コードの下に追加しました。

 <?php foreach ($_additional as $_data): 
        $store_name = Mage::app()->getStore()->getCode();       
         if ( ($_data['code'] != "type") || ($store_name != "english_store_view_website_2")) {  ?>
         <tr>
                <th class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
                <td class="data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
            </tr>
        <?php }
          endforeach; ?>
于 2013-07-02T18:42:06.757 に答える