martinways Опубликовано 23 ноября, 2014 Жалоба Поделиться Опубликовано 23 ноября, 2014 Подскажите какое правило надо сделать чтобы каждые 3 товара заворачивались в div, например:<div class=products><li class=product>...</li><li class=product>...</li><li class=product>...</li></div><div class=products><li class=product>...</li><li class=product>...</li><li class=product>...</li></div>и так далее Или другими словами надо после каждого 3-го товара вставить разделитель </div><div class=products> Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 23 ноября, 2014 Жалоба Поделиться Опубликовано 23 ноября, 2014 {foreach $products as $product} {if $product@index%3==0} Начало тройки... {/if} Стандартный вывод {if $product@iteration%3==0 || $product@last } Конец тройки... {/if} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 23 ноября, 2014 Жалоба Поделиться Опубликовано 23 ноября, 2014 http://forum.simplacms.ru/topic/7713-верстка-вывод-товаров-по-4шт-в-одном-диве/ Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 23 ноября, 2014 Жалоба Поделиться Опубликовано 23 ноября, 2014 {foreach $products as $product} {if $product@first || ($product@iteration - 1) is div by 3}<div class=products>{/if} <li class=product>...</li> {if $product@last || $product@iteration is div by 3}</div>{/if} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
martinways Опубликовано 25 ноября, 2014 Автор Жалоба Поделиться Опубликовано 25 ноября, 2014 Друзья, спасибо за помощь, сделал по первому варианту Корса и все получилось как и хотел. Цитата Ссылка на сообщение Поделиться на другие сайты
Flexcore Опубликовано 2 декабря, 2019 Жалоба Поделиться Опубликовано 2 декабря, 2019 {foreach $products as $product} {if $product@first || ($product@iteration - 1) is div by 3}<div class=products>{/if} <li class=product>...</li> {if $product@last || $product@iteration is div by 3}</div>{/if} {/foreach} Спасибо, пригодилось! Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 3 декабря, 2019 Жалоба Поделиться Опубликовано 3 декабря, 2019 <table> {foreach array_chunk($products, 3) as $chunk} <tr> {foreach $chunk as $product} <td>{$product->name}</td> {/foreach} </tr> {/foreach} </table> Цитата Ссылка на сообщение Поделиться на другие сайты
Flexcore Опубликовано 3 декабря, 2019 Жалоба Поделиться Опубликовано 3 декабря, 2019 <table> {foreach array_chunk($products, 3) as $chunk} <tr> {foreach $chunk as $product} <td>{$product->name}</td> {/foreach} </tr> {/foreach} </table> Любые функции с массивами более ресурсоемкие по сравнению с банальным условием.Но несомненно ваше решение простое и элегантное! Цитата Ссылка на сообщение Поделиться на другие сайты
DaVinci Опубликовано 4 декабря, 2019 Жалоба Поделиться Опубликовано 4 декабря, 2019 (изменено) Любые функции с массивами более ресурсоемкие по сравнению с банальным условием.Но несомненно ваше решение простое и элегантное! любые банальные условия более ресурсоемкие по сравнению с их полным отсутствием. если не хотите писать о том что масло масляное то почитайте про оптимизацию, проведите сравнительные тесты. Вы руководствуетесь догадками которые к реальности не имеют отношения. + если считать что затраты на программиста которому приходиться читать тысячу невразумительных условий вместо абстрагированного когда и за это он берет двойную плату за сою работу, то для заказчика это тоже ресурсоемко. пример с условиями в данном случае прост, но когда таких условий становиться много код поддерживать сложно и дорого! писать надо для людей а про оптимизацию думать только в том случае если в этом есть практическая необходимость и если она себя оправдывает. Изменено 4 декабря, 2019 пользователем DaVinci Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.