1

1 つの製品をアップロードすると、デフォルト属性セット「デフォルト」があり、一般タブには、以下の画像のように多くのデフォルト属性があります。 ここに画像の説明を入力

さて、「サイズ」という名前のカスタム属性をもう1つ追加しました。「サイズ」を左側の一般タブにドラッグすると、製品にもう1つの属性があることを意味します。フロント エンド ページの商品ビュー ページにサイズ属性を表示する場合は、「$_product->getAttributeText('size')」というコードを配置する必要があります。多くのコードを手動で。それで、私の質問は、手動で 1 つずつ追加する代わりに、すべてのカスタム属性を自動的に表示する方法です。

4

2 に答える 2

2

これはすでにmagentoによって行われています。属性をフロントエンドで可視としてマークすれば、それだけです。

パス app/design/frontend/yourtheme/default/template/catalog/product/view のテンプレート attributes.phtml を見てください。

<?php if($_additional = $this->getAdditionalData()): ?>
<!--h2><?php echo $this->__('Additional Information') ?></h2-->
<div class="data-table accordion" id="product-attribute-specs-table">
    <?php foreach ($_additional as $_data): ?>
    <?php $_attribute = $_product->getResource()->getAttribute($_data['code']);
    if  (!is_null($_product->getData($_attribute->getAttributeCode()))  &&  ((string)$_attribute->getFrontend()->getValue($_product) != '')) {  ?>
    <div class="clearer <?php echo $this->htmlEscape($this->__($_data['label'])) ?>">
        <div class="trigger"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></div>
        <div class="triggerContent" style="display: none;"><span><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></span></div>
    </div>
<?php } ?>
</div>
<script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
于 2012-11-09T21:42:10.113 に答える