Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Добрый день. Возникла необходимость вывести сумму остатков товара на складе. То есть посчитать все остатки у вариантов товара и вывести их сумму.

 

Рабочий вариант (сомнительный):

{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+ вариантами.

 

Может кто-то реализовывал другим способом?


 

Изменено пользователем Enhill
Ссылка на сообщение
Поделиться на другие сайты

Скажите, а как у вас с бесконечностью на складе? 

или все товары имею реальные остатки?

Ссылка на сообщение
Поделиться на другие сайты

Скажите, а как у вас с бесконечностью на складе? 

или все товары имею реальные остатки?

 

В данных, которые используются в шаблоне, в принципе нет никакой бесконечности. С этой точки зрения все нормально...

 

Сам метод содержит две ошибки.

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/

рассматривается идейно подобный вопрос.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...