Не отображать, если атрибут является строкой (0) - PullRequest
0 голосов
/ 06 июля 2011

Я использую следующий раздел кода для отображения некоторых значков в нашем магазине Magento с идеей, что если в разделе значков ничего не добавлено, оно не должно отображаться, по какой-то причине это не работает ...он отображает разделение, как будто что-то есть, но на самом деле ничего нет.

<?php 
if($_helper->productAttribute($_product,($_product->geticons()), 'icons') !== null): 
?>
    <div class="product-icons">
        <?php echo $_helper->productAttribute($_product,($_product->geticons()), 'icons') ?>
    </div>
<?php endif; ?>

Необходимо отобразить значки, если они закодированы в поле атрибута, а затем скрыть разделение, если ничего не добавлено.

Я понял, что код возвращает значение string(0) что мне нужно изменить в моем коде, чтобы получить желаемый эффект?

Ответы [ 3 ]

2 голосов
/ 07 июля 2011

Вот что вам нужно, и вам не нужно дважды вызывать одну и ту же функцию, чтобы получить пустой результат. Определите вашу переменную и проверьте, является ли она пустой (null, undefined или false) или нет

<?php $icons = $_helper->productAttribute($_product,($_product->getIcons()), 'icons');?>
<?php if(!empty($icons)):?>
    <div class="product-icons">
        <?php echo $icons;?>
    </div>
<?php endif;?>

это может быть даже лучшим решением, поскольку он не будет вызывать помощника, если не определены значки, но сначала вы должны попробовать его на своей базе кода.

<?php if($_product->getIcons()):?>
    <div class="product-icons">
        <?php echo $_helper->productAttribute($_product,($_product->getIcons()), 'icons') ?>
    </div>
<?php endif; ?>

и, пожалуйста, проверьте, не опечатка ли это:

$_product->geticons() 

или должно быть

$_product->getIcons()
0 голосов
/ 06 июля 2011

1001 * попробовать *

<?php
  if(!empty($_helper->productAttribute($_product,($_product->geticons()), 'icons')))
    {
      echo "<div class=\"product-icons\">";
      echo $_helper->productAttribute($_product,($_product->geticons()), 'icons');
      echo "</div>";
    }
?>
0 голосов
/ 06 июля 2011

Что-то вроде:

<?php
if($_helper->productAttribute($_product,($_product->geticons()), 'icons'))
{
     echo "<div class=\"product-icons\">";
     echo $_helper->productAttribute($_product,($_product->geticons()), 'icons');
     echo "</div>";
}
?>

будет лучше!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...