В Magento, как добавить класс в список в зависимости от атрибутов, отображаемых?


Получил foreach, что мне приносит все дети атрибут X, и мне нужно добавить определенный класс в списке <ul> для того чтобы отформатировать CSS как атрибут Y. Но я не в состоянии добавить имя атрибута в классе.

Ниже приведен пример взят app/design/frontend/base/default/tempplate/catalog/layer/filter.phtml

<ol class="filters filter-type">
<?php foreach ($this->getItems() as $_item): ?>
    <li>
        <?php if ($_item->getCount() > 0): ?>
        <a href="<?php echo $this->urlEscape($_item->getUrl()) ?>"><?php echo $_item->getLabel() ?></a>
        <?php else: echo $_item->getLabel() ?>
        <?php endif; ?>
        <?php if ($this->shouldDisplayProductCount()): ?>
        (<?php echo $_item->getCount() ?>)
        <?php endif; ?>
    </li>
<?php endforeach ?>
</ol>

На страницу категории с фильтром, я хочу, чтобы при загрузке атрибуты этих блоки имеют определенный класс, который укажите.

Например:

Размер

  • 38
  • 39
  • 40

Пол

  • Мужского
  • Женской

Цена

  • 30 40
  • 50 80
  • 100 200

, Где каждый блок появление класса: filter-размер, filter-секс, filter-), только я не знаю, какой атрибут он принесет и мне нужно, чтобы это было динамичным.

Author: Bruno Augusto, 2013-12-11

2 answers

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

<?php
    $produtos['tipo1'] = [
        // Produtos tipo um
    ];

    $produtos['tipo2'] = [
        // Produtos tipo dois
    ];

    $produtos['tipo3'] = [
        // Produtos tipo três
    ];

    foreach ($produtos as $tipo => $listaProdutos): ?>

    <ol class="filters filter-<?= $tipo ?>">

        <?php foreach ($listaProdutos as $produto): ?>

            <li><?= $produto->nome ?></li>
            <li><?= $produto->descricao ?></li>
            <li><?= $produto->valor ?></li>

        <?php endforeach; ?>

    </ol>
<?php
    endforeach;
?>

- Это то, что мне только в голову сейчас, помогает вам?

Att

 3
Author: Caio Moretti, 2013-12-28 20:15:46

, я понимаю, право, что вы хотите, это добавить класс в <li> в случае, если этот фильтр имеет какой-то продукт, чтобы быть доставлен, верно?

Я Думаю, что будет выглядеть следующим образом:

<li<?php echo ($_item->getCount() > 0):?' class="temitens"':'';?>>

Таким образом, если у вас есть элементы, он добавляет класс temitens, отличие не делает ничего.

 -3
Author: Ricardo Martins, 2013-12-20 11:12:27