Виртуемарт 2.0.26 - ONE PAGE CHECKOUT

В продолжение предыдущей статьи про упрощение корзины в virtuemart хотелось бы рассказать про замечательный плагин One Page, который позволяет вывести все поля в корзине на одну страницу. Благодаря этому покупатель сможет оформить покупку в один клик. Странно, что такой функционал не предусмотрен по умолчанию и хорошо, что есть решения  реализующие это :)
В статье речь пойдет про версию One Page 3.6.
СКАЧАТЬ ONE PAGE 3.6
СКАЧАТЬ ONE PAGE 4.3
После скачивания нужно разархивировать архив.
  • plg_system_onepage_vm2.zip — сам плагин
  • папка html — файлы, которые нужно будет разместить в папке с шаблоном
  • info.txt — небольшая инструкция на английском языке
Сначала установим сам плагин. Устанавливается все стандартно через менеджер расширений. После установки заходим в менеджер плагинов, находим plg_system_onepage и активируем его.
активация one page
Далее скопируем папку html в templates/ваш_шаблон. В итоге в папке с шаблоном должна появится папка html, внутри нее папка com_virtuemart с папкой cart, в которой будут лежать шаблоны страниц корзины. Благодаря этим шаблонам все поля будут выводится на одной странице.
Если после этого у вас все заработало, то это хорошо, но скорее всего нужно будет внести некоторые правки в файл templates/ваш_шаблон/html/com_virtuemart/cart/default.php
Находим строку и снимаем с нее комментарий
1
//echo $this->checkout_link_html;
Получается
1
echo $this->checkout_link_html;
А строку
1
echo '<a class="vm-button-correct" href="javascript:void(0);" onclick="submit_order();"><span>' . JText::_('COM_VIRTUEMART_ORDER_CONFIRM_MNU') . '</span></a>';
Наоборот комментируем и получаем
1
//echo '<a class="vm-button-correct" href="javascript:void(0);" onclick="submit_order();"><span>' . JText::_('COM_VIRTUEMART_ORDER_CONFIRM_MNU') . '</span></a>';
После этого все должно работать. Выглядеть это будет примерно так.
вид корзины
Теперь рассмотрим настройки плагина. Заходим менеджер плагинов, находим plg_system_onepage и заходим в него.
настройки one page
  • Ship to address checked — при включении это опции будет автоматически ставится галочка в корзине около «Использовать адрес оплаты как адрес доставки». Эту опцию я всегда включаю и через стили скрываю этот блок. Для этого в файл components/com_virtuemart/assets/css/vmsite-ltr.css можно добавить
    1
    2
    3
    #div_shipto{
    display:none;
    }
  • Register checked — проверка регистрации. Честно говоря, я так и не понял для чего этот пункт. Скорее всего он нужен если покупка происходит с регистрацией. Если у вас покупка без регистрации, то его можно активировать, а можно и не активировать.
  • Use preloader — Если у вас, например, в зависимости от способа доставки меняется цена, то включать эту опцию обязательно, чтобы менялись данные в корзине без перезагрузки страницы. Но в этом случае есть большая вероятность «зависания». Если цена не зависит от доставки , то смело отключайте — все и так будет работать.
Если сразу после установки все заработало, то можно сказать, что вам повезло :)
P.S. Большая тема на форуме nulled.cc в которой обсуждались проблемы с плагином.
P.P.S. Альтернативное решение с помощью компонента One Page Checkout




А так же при косяке при Отправки заказа может выпадать ошибка


вот ее правка

,


У меня при крыже "Использовать адрес" выдает ошибку (в версии 2.0.22)
is null
var name=item.get('id').replace('shipto_','');
заменил добавил

Код:
        ship_to.each(function(item) {
            var name=item.get('id').replace('shipto_','');
            if(bill_to.getElementById(name)) {
                item.set('value',bill_to.getElementById(name).get('value'));
            }
        });
на
Код:
        ship_to.each(function(item) {
        if (item.input!= null) {
            var name=item.get('id').replace('shipto_','');
            if(bill_to.getElementById(name)) {
                item.set('value',bill_to.getElementById(name).get('value'));
            }
        } 
        });

Комментарии

Популярные сообщения из этого блога

LOGOUT JOOMLA

Разработка Плагинов под Джумлу - События