shooroop Опубликовано 9 декабря, 2018 Жалоба Поделиться Опубликовано 9 декабря, 2018 Как в смарти обьединить одинаковые позииции к примеру имеем {foreach $orders as $order} <li> {$order->purshares->name}, {$order->purshares->variant_name} - {$order->purshares-> amaunt}</li> {foreach} результат <li>Носки, голубые - 100</li> <li>Носки, белые - 50</li> <li>Носки, голубые - 20</li> а хотелось бы <li>Носки, голубые - 120</li> <li>Носки, белые - 50</li> Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 9 декабря, 2018 Жалоба Поделиться Опубликовано 9 декабря, 2018 Нужно переделывать не вывод а данные в БД... Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 9 декабря, 2018 Автор Жалоба Поделиться Опубликовано 9 декабря, 2018 Нужно переделывать не вывод а данные в БД... Если бы... но есть только Smarty Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 9 декабря, 2018 Жалоба Поделиться Опубликовано 9 декабря, 2018 создай массив и пиши туда что уже вывел, а в цикле проверяй наличие в созданном массиве. Цитата Ссылка на сообщение Поделиться на другие сайты
ps-simpla Опубликовано 10 декабря, 2018 Жалоба Поделиться Опубликовано 10 декабря, 2018 {$arr = []} {foreach $orders as $order} {if $order->purshares->variant_name} {$oname = $order->purshares->variant_name|lower|trim} {else} {$oname = 'тут пусто'} {/if} {$arr[$oname][] = $order->purshares->amount} {/foreach} {foreach key=ogroup item=sumamount from=$arr} {$sumamounts = '0'} {foreach key=key item=num from=$sumamount} {$sumamounts = $sumamounts + $num} {/foreach} {$order->purshares->name}, {$ogroup} - {$sumamounts} {/foreach} Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 11 декабря, 2018 Жалоба Поделиться Опубликовано 11 декабря, 2018 {$arr = []} {foreach $orders as $order} {if $order->purshares->variant_name} {$oname = $order->purshares->variant_name|lower|trim} {else} {$oname = 'тут пусто'} {/if} {$arr[$oname][] = $order->purshares->amount} {/foreach} {foreach key=ogroup item=sumamount from=$arr} {$sumamounts = '0'} {foreach key=key item=num from=$sumamount} {$sumamounts = $sumamounts + $num} {/foreach} <li>{$order->purshares->name}, {$ogroup} - {$sumamounts}</li> {/foreach} Если, скажем надо вывести <li>Носки, голубые - 10</li> <li>Трусы, голубые - 20</li> <li>Майки, голубые - 30</li> <li>Шапочки, голубые - 40</li> то выйдет совсем неправильно <li>Шапочки, голубые - 100</li> Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 11 декабря, 2018 Жалоба Поделиться Опубликовано 11 декабря, 2018 А каким образом у вас в заказе один и тот же товар идёт разными позициями?Ведь в функционале симплы заложено, что если в корзину добавить товар который там уже есть, то его количество просто увеличится, да и при том механизм добавления в корзину не позволяет добавить один и тот же товар разными позициями. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 11 декабря, 2018 Жалоба Поделиться Опубликовано 11 декабря, 2018 А каким образом у вас в заказе один и тот же товар идёт разными позициями? Судя по {foreach $orders as $order} в первом посте, речь идет о сводном отчете по НЕСКОЛЬКИМ заказам... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 11 декабря, 2018 Жалоба Поделиться Опубликовано 11 декабря, 2018 Судя по {foreach $orders as $order} в первом посте, речь идет о сводном отчете по НЕСКОЛЬКИМ заказам...Не обратил внимания. Но не факт, иначе не понимаю зачем это ТС. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 15 декабря, 2018 Автор Жалоба Поделиться Опубликовано 15 декабря, 2018 Не обратил внимания. Но не факт, иначе не понимаю зачем это ТС. Все правильно Владимир сказал для сводного отчета Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.