1. Заменить содержимое файла  по пути components/com_onepage/themes/Ваше название шаблона в компоненте OPC например sandwitch/overrides/update_form.tpl.php


Было :

<form action="<?php echo $action_url ?>" method="post" style="display: inline;">
    <input type="hidden" name="option" value="com_virtuemart">
    <input type="text" title="<?php echo OPCLang::_('COM_VIRTUEMART_CART_UPDATE'); ?>" class="inputbox" size="3" name="quantity" value="<?php echo $product->quantity; ?>">
    <input type="hidden" name="view" value="cart">
    <input type="hidden" name="task" value="update">
    <input type="hidden" name="cart_virtuemart_product_id" value="<?php echo $product->cart_item_id; ?>">
    <input type="submit" class="updatebtn" name="update" title="<?php echo OPCLang::_('COM_VIRTUEMART_CART_UPDATE'); ?>" value=" ">
    <a class="deletebtn" title="<?php echo OPCLang::_('COM_VIRTUEMART_CART_DELETE');?>" href="/<?php echo JRoute::_('index.php?option=com_virtuemart&view=cart&task=delete&cart_virtuemart_product_id='.$product->cart_item_id, true, $useSSL  ); 
?>"> </a>
</form>

 

Стало :

<form action="<?php echo $action_url ?>" method="post" style="display: inline;">
    <input type="hidden" name="option" value="com_virtuemart">  
    <input type="button" class="quantity_btn inputbox quantity_m" value="-">
    <input type="text" title="<?php echo OPCLang::_('COM_VIRTUEMART_CART_UPDATE'); ?>" class="inputbox quantity_i" size="3" name="quantity" value="<?php echo $product->quantity; ?>" rel="<?php echo $product->cart_item_id; ?>|<?php echo md5($product->cart_item_id); ?>" id="quantity_for_<?php echo md5($product->cart_item_id); ?>" step="<?php echo $product->step_order_level; ?>">
    <input type="button" class="quantity_btn inputbox quantity_p" value="+">    
    <input type="hidden" name="view" value="cart">
    <input type="hidden" name="task" value="update">
    <input type="hidden" name="cart_virtuemart_product_id" value="<?php echo $product->cart_item_id; ?>">
    <input type="submit" class="updatebtn" name="update" title="<?php echo OPCLang::_('COM_VIRTUEMART_CART_UPDATE'); ?>" value=" ">
    <a class="deletebtn" title="<?php echo OPCLang::_('COM_VIRTUEMART_CART_DELETE');?>" href="/<?php echo JRoute::_('index.php?option=com_virtuemart&view=cart&task=delete&cart_virtuemart_product_id='.$product->cart_item_id, true, $useSSL  ); 
    ?>"> </a>
</form>

 

2. Дописать в файл по пути components/com_onepage/themes/Ваше название шаблона в компоненте OPC например sandwitch/overrides/basket.html.php в самом конце

$document = JFactory::getDocument();
 // Add Javascript
 $document->addScriptDeclaration("
     jQuery(function($){
         $('.quantity_i').live('blur', function(){
             var qn_id = document.getElementById($(this).attr('id'));
             if (parseInt($(this).val()) > 0) {
                 Onepage.updateProduct(qn_id, parseInt($(this).val())); 
             }
         });
         $('.quantity_m').live('click', function(){
             var qn = $(this).parent().find('.quantity_i');
             var qn_id = document.getElementById(qn.attr('id'));
             if (parseInt(qn.val()) > 1) {
                 Onepage.updateProduct(qn_id, parseInt(qn.val()) - 1); 
             }
         });
         $('.quantity_p').live('click', function(){
             var qn = $(this).parent().find('.quantity_i');
             var qn_id = document.getElementById(qn.attr('id'));
             Onepage.updateProduct(qn_id, parseInt(qn.val()) + 1); 
         });
     });
 ");

 

 

3. Добавить css

#vmMainPageOPC #basket_container .vertical_align div.ulabel input.inputbox {
     min-width: 10px;
     width: auto;
     position: relative;
     left: auto;
     height: 25px !important;
     padding: 1px 5px;
     font-size: 14px !important;
     margin: 0px 5px;
     display: inline-block;
     font-family: Open Sans, sans-serif !important;
     line-height: 25px;
     border-radius: 15px !important;
}
#vmMainPageOPC #basket_container input.updatebtn {
     display: inline-block;
     width: 22px;
     height: 25px;
     border: none;
     vertical-align: middle;
     cursor: pointer;
     margin-left: 0px;
     position: relative;
     left: auto;
     top: auto;
     padding: 1px 0px;
     font-size: 14px;
     line-height: 24px;
     display: none;
}

 

ДЕМО

reload basket

Добавить комментарий


Комментарии   

Super User
0 # Super User 18.01.2019 04:42
Цитирую Сергей:
LДобрый день, подскажите что нужно поменять если используется плагин onepagechekout.

Сделал по аналогии но ничего нее меняется((

livrare-balti.md/.../...

Так у Вас вроде все работает.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Сергей
0 # Сергей 13.01.2019 20:50
LДобрый день, подскажите что нужно поменять если используется плагин onepagechekout.

Сделал по аналогии но ничего нее меняется((

livrare-balti.md/.../...
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Super User
+1 # Super User 17.11.2018 04:08
Цитирую Данил:
Здравствуйте!
Не работает решение. У меня в файлах примерах содержание немного другое, например в файле sandwitch/overrides/update_form.tpl.php :

А какое у вас содержание в этом файле? Какие отличия?
Посмотрите в консоли браузера есть ли запрос при клике по кнопкам + и - должен отправляться POST запрос вида например
POST
index.php?option=com_onepage&nosef=1&task=opc&view=opc&format=opchtml&tmpl=component&op_onlyd=0&lang=ru&cmd=update_product&cart_virtuemart_product_id=0&quantity=1

Этот запрос делает js код из файла overrides/basket.html.php
Onepage.updateProduct(qn_id, parseInt(qn.val ()) - 1);
или
Onepage.updateProduct(qn_id, parseInt(qn.val ()) + 1);
в зависимости от того какую кнопку вы нажали + или - соответственно.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Данил
+1 # Данил 15.11.2018 13:24
Здравствуйте!
Не работает решение. У меня в файлах примерах содержание немного другое, например в файле sandwitch/overr ides/update_for m.tpl.php :
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору