Только-только сделал.. еще тепленькое, спешу поделиться!
Суть вопроса:
Есть, условно товар "Футболка". У этого товара есть опции:
белая Х
черная Х
черная ХХ
белая Х - 2шт
черная Х- 3шт
черная ХХ- 5шт
Всего - 10шт.
До модификации, покупатель может заказать 10шт. любой опции. И только уже в корзине ему скажут, что "данного товара нет достаточного количества".
Хочется, в конце (в идеале), что-бы покупателю сразу же сообщалось о нехватке данного товара.
Пока сделал так, что-бы внутри опций возле +/- показывался и остаток товара по данной опции.
Немножко дополнить нужно всего 2 файла:
/www/catalog/controller/product/product.php
найти строку 261 (приблизительно, я уже много различных модификаций делал и поэтому нумерация может немного отличатся) и в блок формирования массива добавить " 'quantity' => $option_value['quantity'], "
В массив option добавим и заполним переменную quantity.
Теперь, в массиве $option_value в ячейке 'quantity' будет наше искомое количество, указанное для товара на странице Товар->Опции.
Далее, можно эту переменную использовать в шаблоне, используя в нужном месте <!--?php echo $option_value['quantity']; ?-->.
Я использовал это в момент формирования списка с вариантами опций.
Меняем файл /www/catalog/view/theme/my_theme/template/product/product.tpl
найти строку 69 (приблизительно)
Теперь, имеея в шаблоне количество товара определенной опции, хочется блокировать кнопку "Купить", если покупатель покупает 5 желтых футболок, но их только 2 ($option_value['quantity']=2).
Может комуто-то это будет толчком и пищей для ума - и этот кто-то сумеет доделать это на Ajaxe/JScript и т.д.
Буду рад если доведем это до конца.