не могу вынести в нужное место пункты доставки, чтоб выбирать можно было... думал из файла select_shipment.php нужно часть кода копирнуть и вставить в default_pricelist.php но что то не срабатывает...
...
код вот этот как я понял? не подскажешь как сделать чтоб пункты выбора доставки отображались
Давай уточним все же - ты используешь плагин, который обсуждается в этой теме? Судя по всему - не используешь. Потому как способы доставки и оплаты при установленном и включенном плагине выводятся на одну страницу, как ты и хотел.
Установи, включи, замени файлы в папке html на те, которые идут в комплекте с плагином.
Основной код, отвечающий за визуальное оформление находится
в одном файле -
default_pricelist.php
Меня жутко раздражает то, что кол-во каждого товара в корзине приходится обновлять вручную. Ввел кол-во - сохранил, ввел - сохранил. Жуть.
Разработчики VM на эту тему в свое время сказали, что "ну вот так у нас сделано, по другому нельзя".
А раз тут у нас AJAX корзина, то она позволяет делать все операции прозрачно для пользователя.
Поэтому хочу поделиться небольшим улучшением для этого плагина.
Что делать:
Открываем файл
html\com_virtuemart\cart\default.php (раз вы читаете эту ветку, то я уверен, что файлы у вас уже заменены на нужные), находим в нем строки:
Код:
<script type="text/javascript">
var preloader_visible=false;
И сразу после них вставляем:
Код:
var qty=0;
function store_qty(id){ // запоминаем текущее значение кол-ва
qty=jQuery('#quantity_'+id).val();
}
function fetch_qty(id){ // проверяем, надо ли обновлять форму, изменилось ли кол-во
var qtyField =jQuery('#quantity_'+id)
var newQty = qtyField.val();
//console.log("newQty="+newQty);
if (isNaN(newQty)){
// console.log("denied value"); // для отладки - введено не число, тут можно предупреждение какое-нибудь вывести
} else {
if (newQty<=0) {
var qtyAnswer = confirm("Удалить товар из корзины?");
if (qtyAnswer==true){
update_form('remove_product',id);
} else {
qtyField.val(qty); // возвращаем на место предыдущее значение
}
} else {
if (qty!=newQty){
update_form('update_product', id);
qty=newQty;
}
}
}
}
function qty_keyfilter(event, id){ // перехват enter
if (event.keyCode==13) {
fetch_qty(id);
}
}
Потом открываем файл
html\com_virtuemart\cart\default_pricelist.php
Находим там поле, в которое вбивается кол-во товара и меняем его на:
Код:
<input type="text" title="<?php echo JText::_ ('COM_VIRTUEMART_CART_UPDATE') ?>"
class="inputbox" size="3" maxlength="4" name="quantity" value="<?php echo $prow->quantity ?>"
onfocus="store_qty(<?php echo $pkey; ?>);"
onblur="fetch_qty(<?php echo $pkey; ?>);"
onkeyup="qty_keyfilter(event, <?php echo $pkey; ?>);"
id='quantity_<?php echo $pkey; ?>'
/>
Всё, теперь можно удалять жуткую кнопку обновления количества.
При изменении количества товаров в корзине итог будет пересчитываться автоматически.
Надеюсь, будет кому-то полезно.