Автоматическая смена комбинации по умолчанию при нулевом наличии товара

Автор rafl, 05 июля 2014, 12:58:57

« назад - далее »

rafl

Собственно проблема.

Когда есть три товара с разными цветами, и по умолчанию стоит комбинация для красного цвета. Красный цвет в наличии 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}

DarinSr

А почему бы не поставить по-умолчанию комбинацию у которой значение больше 0?

Adik

ЦитироватьИдея наиболее простого (и корявого с позиции SEO) решения видится таким.
При загрузке страницы товара определяется количество комбинации по умолчанию и если количество ноль, то пройтись циклом по комбинациям и сделать перенаправление при первой попавшейся не нулевой комбинации.
Так не получиться. Нужно менять комбинацию по-умолчанию на уровне шаблона. Т.е. значение по-умолчанию получать не из sql запроса, а назначать программно комбинации у которой количество больше 0. Если такой комбинации нет, у всех количество 0, тогда получать их базы данных.