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