Доброго всем дня или вечера! Необходимо скрыть в товаре вкладку Характеристики, если название группы атрибутов Комплектация. Попробовал так, но на создалось много вкладок Характеристики в других товарах, видимо потому что массив: <?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 } ?> Как сделать правильно не знаю. Подскажите, кто знает.
Там должно быть continue, если нужно пропустить итерацию цикла. И вообще, это задом наперёд. Если таб нужно не выводить только в одном случае, то лучше проверять именно этот случай: PHP: <?php if ($attribute_group['name'] != 'Комплектация' ) { ?><li><a href="#tab-specification"><?php echo $tab_attribute; ?></a></li><?php } ?>
Ну получается где Комплектация - там пропадает вкладка. Но рисуется вот такая тема ещё - http://clip2net.com/s/3CXKTHi ... Групп атрибутов получается много и, как я понимаю, исходя из количества групп появляется столько же кода <li><a href="#tab-specification"><?php echo $tab_attribute; ?></a></li> и соответственно вкладок. Можно это как то создание вкладок избежать?
А, мда. Конечно эти табы дублируются по количеству груп - тут же вывод идёт на каждую группу. Надо так: 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 } ?>
Сработало! Только 1 нюанс - если атрибутов у товара нет вообще, то вкладка теперь остается. Получается нужно условие если "Комплектация" и если нет атрибутов вообще.
Ну, просто дописать дополнительную ветку к условию с присвоением флагу значения: PHP: if ($attribute_groups) {//...} else { $flag = false;}