Автор Тема: Автоматическая смена комбинации по умолчанию при нулевом наличии товара  (Прочитано 729 раз)

05 Июля 2014, 12:58:57
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Собственно проблема.

Когда есть три товара с разными цветами, и по умолчанию стоит комбинация для красного цвета. Красный цвет в наличии 0, а остальные больше 1. Клиент заходит в карточку товара и получает сообщение, что товара нет, до остальных цветов в итоге и не доходит.

Идея наиболее простого (и корявого с позиции SEO) решения видится таким.

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

 

В файле product.tpl код ниде позволяет выделить не нулевые комбинации

 
{if $product->quantity > 0}
    {if isset($groups)}   
        {foreach from=$combinations key=idCombination item=combination }
            {if $combination.quantity > 0 }
                редирект по ссылке index.php?id_product={$product->id|intval}&controller=product&id_lang=1#/{как вытащить атрибуты-свойства-цвет-объем памяти и т.п.}
            {/if}
        {/foreach}
    {/if}
{/if}

Проблема с вытаскиванием с частью ссылки вида "#/disk_space-16gb/color-green".

Эта конструкция их просто все подряд перечисляет, как вытащить парные значения под конкретный товар?

{if isset($attributesCombinations)}
// Combinations attributes informations<br><br>
{foreach from=$attributesCombinations key=id item=aC  }
  {$aC.group}-{$aC.attribute} <br>
{$aC.id_attribute|intval}-{$aC.id_attribute_group|intval}<br><br>
{/foreach}
{/if}
07 Июля 2014, 12:11:51
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 86054
  • Репутация: +25403/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А почему бы не поставить по-умолчанию комбинацию у которой значение больше 0?
07 Июля 2014, 13:10:33
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 13285
  • Репутация: +14557/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Идея наиболее простого (и корявого с позиции SEO) решения видится таким.
При загрузке страницы товара определяется количество комбинации по умолчанию и если количество ноль, то пройтись циклом по комбинациям и сделать перенаправление при первой попавшейся не нулевой комбинации.
Так не получиться. Нужно менять комбинацию по-умолчанию на уровне шаблона. Т.е. значение по-умолчанию получать не из sql запроса, а назначать программно комбинации у которой количество больше 0. Если такой комбинации нет, у всех количество 0, тогда получать их базы данных.