Enhill Опубликовано 23 октября, 2018 Жалоба Поделиться Опубликовано 23 октября, 2018 (изменено) Добрый день. Возникла необходимость вывести сумму остатков товара на складе. То есть посчитать все остатки у вариантов товара и вывести их сумму. Рабочий вариант (сомнительный): {assign var="sumstock" value="0"} {foreach $product->variants as $v} {$sumstock = $sumstock +$product->variant->stock} {/foreach} {if $sumstock >0}На складе: {$sumstock|convert}{/if} Есть сомнения на счет быстроты выполнения в шаблоне products.tpl Насколько это рациональный способ? У нас могут быть товары с 40+ вариантами. Может кто-то реализовывал другим способом? Изменено 23 октября, 2018 пользователем Enhill Цитата Ссылка на сообщение Поделиться на другие сайты
simpla24 Опубликовано 23 октября, 2018 Жалоба Поделиться Опубликовано 23 октября, 2018 Скажите, а как у вас с бесконечностью на складе? или все товары имею реальные остатки? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 23 октября, 2018 Жалоба Поделиться Опубликовано 23 октября, 2018 Модификатор convert здесь не нужен.Реализуйте подсчёт в контроллере. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 23 октября, 2018 Жалоба Поделиться Опубликовано 23 октября, 2018 Скажите, а как у вас с бесконечностью на складе? или все товары имею реальные остатки? В данных, которые используются в шаблоне, в принципе нет никакой бесконечности. С этой точки зрения все нормально... Сам метод содержит две ошибки.1. надо убрать convert - при работе с неосновной валютой будет давать ошибку.2. Сама строка добавления должна быть такой{$sumstock = $sumstock +$v->stock} Если исправить, должно работать. По поводу рациональности - вряд ли это сильно замедлит работу. Но если заметите тормоза, то надо будет придумывать другой способ подсчета... А чтобы сделать полностью рационально - надо программировать аккуратно, что совсем не просто. К примеру, в соседней темеhttp://forum.simplacms.ru/topic/13764-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D0%BE%D0%B2-%D0%B8%D0%B7-%D0%B1%D0%B0%D0%B7%D1%8B/рассматривается идейно подобный вопрос. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.