БЛОГОДЖУМЛА - БЛОГ О ДЖУМЛА

Решение для оптовой продажи в JoomShopping

  • Категория: Joomshopping
  • Автор:
  • Просмотров: 9712

radiobutton select

При проектировании оптовой версии сайта по продаже ювелирных украшений потребовалось давать возможность клиентам покупать сразу несколько изделий одной модели, но с разными размерами (кольца, колье, браслеты).

Решил использовать свободные атрибуты джумшопинга. Потребовалось только написать скрипт, чтобы выбранное количество складывалось в поле "общее количество". Заодно навесил стрелки +/- на каждый размер:

В контроллере product - \components\com_jshopping\controllers\product.php вместо

 $product->freeattributes[$k]->input_field = '<input type="text" class="inputbox" size="40" name="freeattribut['.$v->id.']" value="" />';

пишем

  
 $product->freeattributes[$k]->input_field = '
				
				
				';
UPDATE 20.06.2016

Для последних версий joomshopping:

Теперь все перенесено в модель -

\components\com_jshopping\models\productshop.php в функцию getInputFreeAttribute

Вместо
 return '<input type="text" class="inputbox" size="40" name="freeattribut['.$id.']" value="'.htmlspecialchars($value).'" />';

пишем

  
 return '<input id="freeattribut_'.$id.'" class="inputbox price_td" type="text" name="freeattribut['.$id.']" value="" size="5" onchange="document.getElementById(\'quantity\').value = parseInt(document.getElementById(\'quantity\').value)+ parseInt(this.value);">
<input class="quantity-minus" onclick="var qty_el = document.getElementById(\'freeattribut_'.$id.'\'); var qty = qty_el.value; if( !isNaN( qty ) && qty > 0 ) {qty_el.value--;
var qty_all = document.getElementById(\'quantity\'); qty_all.value--;}
return false;" type="image" src="/components/com_jshopping/images/minus-16.png">
<input class="quantity-plus" onclick="var qty_el = document.getElementById(\'freeattribut_'.$id.'\'); var qty = qty_el.value; if( !isNaN( qty )){ qty_el.value++;
var qty_all = document.getElementById(\'quantity\'); var qtys = qty_all.value; qty_all.value++;}
return false;" type="image" src="/components/com_jshopping/images/plus-16.png">
';
Back to top