Проблема с корзиной

Проблема такая: не выводятся некоторые параметры товара если наименования товара больше 50 добавлено в корзину, так же и в отправляемом письме. Почему то до 50 всё выводится хорошо, но после пропадают наименования товаров и количество товара в магазине, другие параметры при этом хорошо отображаются.

1 ответ

  • 1
    Эрик Webasyst 6 июня 2016 12:49 #

    Нам не удалось воспроизвести условия, при которых возникает описанная вами проблема. Просим вас описать ваши действия более подробно, снабдив их по возможности снимками экрана, изображающими происходящее.

    • +1
      Иван Батуев Иван Батуев 12 июня 2016 03:23 #

      Вот код который создает список товаров для письма отправляемого клиенту (Заказ оформлен). Тут много лишнего, это были мои попытки как то получить данные.

      <table style="width: 100%;margin-top: 30px;border-collapse: collapse;">
      	<tr style="border: 1px solid; background-color: #D8E4F0;">
      		<td style="border: 1px solid;padding: 3px 5px; font-weight: bold;">№</td>
      		<td style="border: 1px solid;padding: 3px 5px; font-weight: bold;">Наименование</td>
      		<td style="border: 1px solid;padding: 3px 5px; font-weight: bold;">Кол-во</td>
      		<td style="border: 1px solid;padding: 3px 5px; font-weight: bold;">Ед.</td>
      		<td style="border: 1px solid;padding: 3px 5px; font-weight: bold;">Цена,<br/>руб/шт</td>
      		<td style="border: 1px solid;padding: 3px 5px; font-weight: bold;">Сумма,<br/>руб</td>
      		<td style="border: 1px solid;padding: 3px 10px; font-weight: bold;">Вес,<br/>кг</td>
      		<td style="border: 1px solid;padding: 3px 5px; font-weight: bold;">Статус</td>
      	</tr>
      	{$subtotal = 0}
      	{$number = 1}
      	{$ollweight = 0}
      	{$totalprice = 0}
      	{foreach $order.items key=itemKey item=item}
      	{$p = $item.product}
      	{$prod = $wa->shop->product($p.id)}
          {$price = shopOptPluginViewHelper::getUserPrice($item.sku_id)}
      	<tr style="border: 1px solid;">
      		<td style="border: 1px solid;padding: 3px 5px;">{$number}</td>
      		{if ($item.product.name != '')}
      		    <td style="border: 1px solid;padding: 3px 5px;">{$item.product.name}</td>
      		{else}
      		    <td style="border: 1px solid;padding: 3px 5px;">{$item.name}</td>
      		{/if}
      		<td style="border: 1px solid;padding: 3px 5px;">{$item.quantity}</td>
      		<td style="border: 1px solid;padding: 3px 5px;">{$prod.features['yed_izm_']}</td>
      		<td style="border: 1px solid;padding: 3px 5px;">{$price|wa_format_file_size:'%0.2f':''}</td>
      		<td style="border: 1px solid;padding: 3px 5px;">{($price * $item.quantity)|wa_format_file_size:'%0.2f':''}</td>
      		{if $prod.features.weight != ''}
      		    {$weight = ($prod.features.weight->convert('g','%0.3F') * $item.quantity / 1000)|wa_format:3}
      		{else}
      		    {$weight = ''}
      		{/if}
      		<td style="border: 1px solid;padding: 3px 10px;">{$weight}</td>
      		<td style="border: 1px solid;padding: 3px 5px;">
      			{if $prod.count == 0}
      				Под заказ
      			{else if (($prod.count > 0) && ($prod.count < $prod.features['kol_vo_v_upakovke']))}
      				Частично в наличии
      			{else}
      			    {if $prod.count < $item.quantity}
      			        Частично в наличии
      			    {else}
      				    В наличии
      			    {/if}
      			{/if}
      		</td>
      	</tr>
      	{$totalprice = $totalprice + $price * $item.quantity}
      	{$subtotal = $subtotal + $price * $item.quantity}
      	{$number = $number + 1}
      	{if $prod.features.weight != ''}
      	    {$ollweight = $ollweight + ($prod.features.weight->convert('g','%0.3F') * $item.quantity / 1000)}
      	{else}
      		{$ollweight = $ollweight + 0}
      	{/if}
          {/foreach}
      	<tr style="border: 1px solid; border: 0;">
      		<td style="border: 1px solid;padding: 3px 5px; border: 0;font-weight: bold;" colspan="4"></td>
      		<td style="border: 1px solid;padding: 3px 5px; border: 0;font-weight: bold;background-color: #D8E4F0;">ИТОГО</td>
      		<td style="border: 1px solid;padding: 3px 5px; border: 0;font-weight: bold;background-color: #D8E4F0;">{$totalprice|wa_format_file_size:'%0.2f':''} руб</td>
      		<td style="border: 1px solid;padding: 3px 5px; border: 0;font-weight: bold;">{$ollweight|wa_format:3} кг</td>
      		<td style="border: 1px solid;padding: 3px 5px; border: 0;font-weight: bold;"></td>
      	</tr>
      </table>


      Вот это:

                   {if ($item.product.name != '')}
      		    <td style="border: 1px solid;padding: 3px 5px;">{$item.product.name}</td>
      		{else}
      		    <td style="border: 1px solid;padding: 3px 5px;">{$item.name}</td>
      		{/if}

      Мое решение проблемы на данный момент, когда мы не можем получить название товара продукта (а это значит что и другие дынные, количество например, то выводится название продукта из заказа, там оно немного другое). И если с названием всё не плохо, то количество из которого определяется в наличие товар или нет, получить не как не получается.

      В общем этот код - это всё что я делаю. И я понять не могу всё ещё в чем может быть проблема.

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

      К сожалению больше информации у меня нет. Пробовал выводить дебагом в корзине весь массив, там всё в порядке. По коду я тоже вроде бы проблем не вижу. Возможно где то ошибся, но понять где тоже не могу.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите