0

Magento は、空の属性を「いいえ」または「N/A」として表示することに優れていますが、空のテーブル セルとして表示する必要があります。

私はこのコードが空の属性を完全に隠していることを知っています:

<?php foreach ($_additional as $_data): ?>
    <?php $_attribute = $_product->getResource()->getAttribute($_data['code']);
    if (!is_null($_product->getData($_attribute->getAttributeCode())) && ((string)$_attribute->getFrontend()->getValue($_product) != '')) { ?>
    <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 } ?>
<?php endforeach; ?>

ソース: http://www.magthemes.com/magento-blog/empty-attributes-showing-na-fix/

しかし、私はphpが初めてなので、それを変更して空を表示する方法がよくわかりません。

コア ファイルに移動して Attributes.php を変更できることはわかっていますが、それは悪い習慣であり、正しく実行したかったのです。

前もって感謝します!

4

4 に答える 4

2

ALT+0160

商品を編集するときは、上記のキーボード ショートカットを属性値として使用します。

どのように?

Windows では、少なくとも次の手順を実行します。

ALTキーを押したまま、キーパッドに数字の 0160 を入力します。キーを離しALTます。

基本的に、スペース文字ではない空白文字が表示されます。これは製品フィールドの null 以外の値として登録され、エンジンは文字をレンダリングします。これは人間にとって幸いなことに、表示されない空白です。

エレガントではありませんが、テンプレート コードを変更できない人には役立ちます。

于 2016-06-11T10:10:19.240 に答える
1

i try with this options to remove "No or N/A" and ok remove this words but don´t remove atribute name. i use this code:

 <?php
    $_helper = $this->helper('catalog/output');
    $_product = $this->getProduct()
?>
<?php if($_additional = $this->getAdditionalData()): ?>
<div class="akordeon-item-head">
    <div class="akordeon-item-head-container">
        <div class="akordeon-heading">
            <?php echo $this->__('Additional Information') ?>
        </div>
    </div>
</div>
<div class="akordeon-item-body">
    <div class="akordeon-item-content">
        <table class="data-table" id="product-attribute-specs-table">
            <col width="25%" />
            <col />
            <tbody>
            <?php foreach ($_additional as $_data): ?>
            <?php 
    $_attribute = $_product->getResource()->getAttribute($_data['code']);
    $_isEmpty = (!is_null($_product->getData($_attribute->getAttributeCode())) &&((string)$_attribute->getFrontend()->getValue($_product) != ''));?>
                <tr>
                    <th class="label"><?php echo $this->htmlEscape($this->__($_data['label'])) ?></th>
                    <td class="data"><?php if ($_isEmpty) { echo $_helper->productAttribute($_product, $_data['value'], $_data['code']);} ?>
                </tr>
            <?php endforeach; ?>
            </tbody>
        </table>
        <script type="text/javascript">decorateTable('product-attribute-specs-table')</script>
    </div>
</div>
<?php endif;?>
于 2013-11-26T15:36:09.833 に答える