дополнение: я сделал копию всего каталога Catalog, переименовал его (в amo) и настроил новое приложение на его шаблон.
Настройка логики кол-ва для каждого товара: min, max, шаг
#11
Posted 10 May 2016 - 09:31
#12
Posted 10 May 2016 - 21:18
Но как только перехожу в корзину, то блок кол-во начинает прибавлять по 1, а не по 10. Глюк?
Элемент кол-ва на странице корзины - это совершенно другой элемент и ни как не относится к таким шаблонам как тизер или фул, для данного элемента все товары в заказе одного типа. Придется делать хак, и вручную устанавливать минимальные значения. Откройте файл:
\media\zoo\applications\jbuniversal\framework\classes\cart\jborder.php
найдите:
if ($editMode) {
$itemHtml['quantityEdit'] = $jbhtml->quantity($quantity, $cartItem->find('params._quantity', array()));
}
И замените на это код:
if ($editMode) {
$options = $cartItem->find('params._quantity', array());
switch ($cartItem->item->type) {
case 'phone': // для типа с псевдонимом phone
$options['step'] = 10;
break;
case 'auto': // для типа с псевдонимом auto
$options['step'] = 18;
break;
}
$itemHtml['quantityEdit'] = $jbhtml->quantity($quantity, $options);
}
#13
Posted 11 May 2016 - 10:11
Спасибо. Заработало!
Сейчас приходится настраивать элемент кол-ва в 3-х местах: тизер, фул и корзина (\media\zoo\applications\jbuniversal\framework\classes\cart\jborder.php) у каждого типа, что несколько расстраивает :-(
Планируется ли доработки, чтобы настроил в одном типе этот элемент и забыл ?
Т.к. мне требовался не только шаг в корзине поправить, но и минимум, то итоговый код такой:
if ($editMode) {
$options = $cartItem->find('params._quantity', array());
switch ($cartItem->item->type) {
case 'shockadspartstype100x10': // для типа с псевдонимом shockadspartstype100x10
$options['step'] = 10;
$options['min'] = 100;
break;
case 'shockadspartstype1500x500': // для типа с псевдонимом shockadspartstype1500x500
$options['step'] = 500;
$options['min'] = 1500;
break;
}
$itemHtml['quantityEdit'] = $jbhtml->quantity($quantity, $options);
}
Edited by demfi, 11 May 2016 - 10:12.
#14
Posted 11 May 2016 - 10:19
demfi, каждый шаблон имеет свой набор элементов - поэтому в каждом шаблоне необходимо делать настройки. Что касается элемента на странице корзины, то это совершенно другой элемент об этом я писал выше. Это можно было бы настраивать как минимум внутри, при заполнении материала, но для этого нужно изменять не одну строку кода элемента (PHP + API JBZoo) + хак для корзины.
#15
Posted 11 May 2016 - 11:49
В элементе кол-во заметил особенность, если мышкой по кнопкам +/- щёлкать, то всё нормально, а вот если руками вбить цифру, например 1800 и нажать Купить, то в корзину добавляется 1800, что не приемлемо для меня, у меня стоит шаг 500, мин: 1500, т.е. м.б. либо 1500, либо 2000, либо 2500 и т.д.
Это можно поправить?











