[Решено] Скрыть вкладку Характеристики

Тема в разделе "OpenCart", создана пользователем Oleg-vt, 5 окт 2016.

Статус темы:
Закрыта.
  1. Oleg-vt

    Oleg-vt

    Регистрация:
    8 май 2013
    Сообщения:
    204
    Симпатии:
    164
    Доброго всем дня или вечера!
    Необходимо скрыть в товаре вкладку Характеристики, если название группы атрибутов Комплектация.
    Попробовал так, но на создалось много вкладок Характеристики в других товарах, видимо потому что массив:

    <?php if ($attribute_groups) { ?>
    <?php foreach ($attribute_groups as $attribute_group) { ?>
    <?php if ($attribute_group['name'] == 'Комплектация' ) { ?>
    <?php } else { ?>
    <li><a href="#tab-specification"><?php echo $tab_attribute; ?></a></li>
    <?php } ?>
    <?php } ?>
    <?php } ?>

    Как сделать правильно не знаю. Подскажите, кто знает.
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    Там должно быть continue, если нужно пропустить итерацию цикла.
    И вообще, это задом наперёд. Если таб нужно не выводить только в одном случае, то лучше проверять именно этот случай:
    PHP:
    <?php if ($attribute_group['name'] != 'Комплектация' ) { ?>
    <li><a href="#tab-specification"><?php echo $tab_attribute?></a></li>
    <?php ?>
     
  3. Oleg-vt

    Oleg-vt

    Регистрация:
    8 май 2013
    Сообщения:
    204
    Симпатии:
    164
    Ну получается где Комплектация - там пропадает вкладка. Но рисуется вот такая тема ещё - http://clip2net.com/s/3CXKTHi ... Групп атрибутов получается много и, как я понимаю, исходя из количества групп появляется столько же кода <li><a href="#tab-specification"><?php echo $tab_attribute; ?></a></li> и соответственно вкладок. Можно это как то создание вкладок избежать?
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    А, мда. Конечно эти табы дублируются по количеству груп - тут же вывод идёт на каждую группу.

    Надо так:
    PHP:
    <?php
    $flag 
    true;
    if (
    $attribute_groups) {
        foreach (
    $attribute_groups as $attribute_group) {
            if (
    $attribute_group['name'] == 'Комплектация' ) {
                
    $flag false;
                break;
            }
        }
    }
    ?>
    А потом просто проверять этот флаг при выводе таба:
    PHP:
    <?php if($flag) { ?>
        <li><a href="#tab-specification"><?php echo $tab_attribute?></a></li>
    <?php ?>
     
    Oleg-vt нравится это.
  5. Oleg-vt

    Oleg-vt

    Регистрация:
    8 май 2013
    Сообщения:
    204
    Симпатии:
    164
    Сработало! Только 1 нюанс - если атрибутов у товара нет вообще, то вкладка теперь остается. Получается нужно условие если "Комплектация" и если нет атрибутов вообще.
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    2.049
    Симпатии:
    777
    Ну, просто дописать дополнительную ветку к условию с присвоением флагу значения:
    PHP:
    if ($attribute_groups) {
    //...
    } else {
        
    $flag false;
    }
     
    Oleg-vt нравится это.
  7. Oleg-vt

    Oleg-vt

    Регистрация:
    8 май 2013
    Сообщения:
    204
    Симпатии:
    164
    Dotrox, всё получилось - работает как и хотел. Благодарю за помощь! :Smile:
     
Статус темы:
Закрыта.