Magento. Logo

Magento: cómo mostrar sólo los atributos con cierto valor

Published on : 21 septiembre, 2017
Leave a Comment

En este caso, tenemos un cliente que quiere que sólo los atributos con valor a «Sí» (o TRUE, o «Verdadero», como queráis). ¿Cómo lo conseguimos?
Nos iremos al archivo attribute.phtml del paquete del tema que estamos utilizando, cuya ruta es:

/app/design/frontend/nuestro_tema/paquete_usado/template/catalog/product/view/attribute.phtml

Y buscamos este código:

<?php foreach ($_additional as $_data): ?>
    <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; ?>

Y lo reemplazamos por este otro:

<?php foreach ($_additional as $_data): ?>
    <?php $_attribute = $_product->getResource()->getAttribute($_data['code']);
    if (!is_null($_product->getData($_attribute->getAttributeCode())) && ((string)$_attribute->getFrontend()->getValue($_product) != 'No')) { ?>
    <tr>
        <td><?php echo $this->htmlEscape($this->__($_data['label'])) ?></td>
    </tr>
    <?php } ?>
<?php endforeach; ?>

Obviamente, en el punto del código donde pone ‘No’, podemos poner

((string)$_attribute->getFrontend()->getValue($_product) != 'FALSE'))
ó
((string)$_attribute->getFrontend()->getValue($_product) == 'TRUE'))
ó
((string)$_attribute->getFrontend()->getValue($_product) != 'Falso'))
.
.
.
etc

0 comments

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.