Jump to content

Recommended Posts

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

 

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

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

 

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


 

Edited by Enhill
Link to post
Share on other sites

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

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

 

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

 

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

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/

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...