X shipping как установить

Создание модуля в OpenСart 2+ Страница оформления заказа.

В данной статье рассмотрим процесс создания модуля в CMS OpenСart 2х. В результате у нас должен получиться модуль, добавляющий способ доставки «Новая почта» на страницу оформления заказа в закладку «Способ доставки». Особое внимание я уделю структуре данной CMS, порядку выполнения скриптов, передаче данных между контроллером, моделью, видом, языковым файлом на примере все той же страницы оформления заказа.
Файлы модуля можно скачать в конце статьи.
Вид на странице оформления заказа, который будет в итоге:

Чтобы не писать код всех файлов тут на странице, скачайте АРХИВ и открывайте самостоятельно файл о котором буду писать.

Далее в нашем контроллере формируется ассоциативный массив данных:
данные которого будут использованы в файле представлении (виде).
Например так получаем и сохраняем фразы на текущем языке:

Так же формируется массив для «хлебных крошек» админки, используемый для удобной навигации
$data[‘breadcrumbs’]
В этот же массив добавляются и значения из базы данных (БД), для этого подключаются дополнительные модели, например

Языковой файл admin\language\ru-ru\extension\shipping\ksl.php

Файл представление для админ-панели admin\view\template\extension\shipping\ksl.tpl


она передает введенные данные POST запросом в наш контроллер в котором, как раз и была проверка на поступивший POST запрос. Само значение атрибута action у нас так же передается в вид из контроллера строкой
Ну и в конце файла вида выводится содержимое подвала строкой
Данное содержимое мы так же получили из контроллера, в котором вызывали контроллер ответственный за вывод подвала страницы.

Порядок выполнения скриптов для вывода страницы оформления Заказа.

Напомню, что страница оформления Заказа, это страница, на которую посетитель сайта попадает из корзины, нажав ссылку «Оформить заказ». Как я уже писал, при создании модуля приходится разбирать существующий код данного фреймворка чтобы понять порядок подключения файлов и какие данные они друг другу передают. Поэтому пройдемся по теории. К сожалению с документацией для разработчиков у OpenСart пока не очень, поэтому почти все нижеизложенное (как и вышеизложенное) я описал исходя из самостоятельного разбора работы данной CMS.

Стандартная страница заказа состоит из нескольких вкладок, каждой из которых соответствует свой контроллер, модель и шаблон.
Общий контроллер страницы заказа находится в файле catalog\controller\checkout\checkout.php
он выводит общий файл представление catalog\view\theme\default\template\checkout\checkout.tpl
в котором так же находится много JS скриптов, которые отслеживают нажатия кнопок на каждой из закладок и AJAX запросами сохраняют данные в сессии так же открывая следующую закладку. После заполнения всех закладок вызывается контроллер из файла catalog\controller\checkout\confirm.php который передает данные в модель catalog\model\checkout\order.ph p для сохранения в БД. Подробнее ниже.

Рассмотрим закладку выбора способа доставки.
Контроллер способов доставки (общий): catalog\controller\checkout\shipping_method.php
В нем в строке
в массив $results попадают все методы доставки. Далее, в цикле
загружается модель каждого из методов. Далее из БД выбираются все поля и сохраняются в $quote, нужные из которых сортируются и в строке
сохраняются в сессию.
Затем контроллер формирует общий массив $data, получает дополнительные данные из языковых файлов, например
так же данные из сессии сохраняет в $data[‘shipping_methods’]
и передает массив данных $data в вид.

Вид способов доставки (общий): catalog\view\theme\default\template\checkout\shipping_method.tpl
При загрузке файла вида, данные из массива ($data) распаковываются, ключи становятся названиями переменных и к ним можно обратиться напрямую:
вместо
так

В виде, в цикле
выводятся, поочереди, все методы доставки, в которых дополнительным циклом выводятся нужные данные и поля.

Перед подключением отдельных шаблонов (оплата, доставка и тд.) подключается общий шаблон станицы оформления заказа
catalog\view\theme\default\template\checkout\checkout.tpl
который также содержит JS скрипты, отсылающие разные AJAX запросы по нажатию на кнопки подтверждений.
Если, например, была нажата кнопка «подтвердить» на закладке «Способ доставки», то сработает событие
т.к. кнопка имела
которое отправит данные AJAX-запросом (без перезагрузки) из формы в контроллер
catalog\controller\checkout\shipping_method.php метод save()
В данном методе, значения сохраняются в сессию, например комментарии:

При нажатии предпоследней кнопки подтверждения на странице заказа на закладке «Способ оплаты», вызывается контроллер
catalog\controller\checkout\confirm.php
который загружает модель catalog\model\checkout\order.php в строке
затем строкой
вызывает метод addOrder($data), который записывает все данные заказа и сохраняет в сессию id заказа.
По нажатию последней кнопки «Подтверждение заказа», к сохраненным данным заказа в базе данных, добавляется единица (true) в ячейку order_status_id. Без этого заказ считается неподтвержденным и не отображается в админке в списке заказов.

Оформленный заказ в БД хранится в таблице oc_order.

Читайте также:  Как установить доп педали на ваз 2110

Данный файл так же является близнецом файлов отвечающих за другие способы доставки и хранимых в той же папке «shipping«.
Название класса модели задается по тем же правилам, что и название класса контроллера. В нашем случае это будет
class ModelExtensionShippingKsl<>
который наследуется от общего класса Model и содержит всего один метод getQuote ().
Первым делом загружается языковой файл, далее идет выборка из БД согласно переданной методу геозоне, что в нашем модуле и не только в нем не используется, но ломать общий шаблон модели доставки не будем.
Далее создаются и заполняются массивы данных $quote_data и $method_data на основе языкового файла и данных введенных вручную. Так, можно указать стоимость доставки для своего метода в массиве в строке
‘cost’ => 0.00,
но в нашем способе доставки Новой Почтой стоимость может меняться.
Далее все данные собираются в один массив, который и возвращается контроллеру вызвавшему нашу модель:

Языковой файл catalog\language\ru-ru\extension\shipping\ksl.php

Данный файл заполняем по тем же правилам, что и аналогичный файл для админ-панели (см.выше), указывая в нем сообщения и названия полей формы, которую должен будет заполнить покупатель. Не забываем создать и файл с английским переводом catalog\language\en-gb\extension\shipping\ksl.php

Представление для вывода своего способа доставки

Подключаем стили и скрипты.

Для придания форме доставки нужного вида я создал небольшой файл стилей, который можно найти в catalog/view/theme/default/stylesheet/ksl_shipping.css
В подключении так же использован модификатор, хотя ситуации бывают разные, можно было вообще не создавать отдельный файл стилей, но так больше порядка. Вы можете попытаться вставить нужные стили в уже существующий файл стилей темы, но проблема в том, что стандартный файл стилей темы по-умолчанию подключается раньше, чем файл-модификатор создаст его измененную копию, поэтому такой способ не сработает.
Поэтому подключим свой файл стилей (в модификаторе ksl.ocmod.xml) модифицируя контроллер отвечающий за вывод шапки сайта
catalog/controller/common/header.php
Находим там строку
в которой формируется массив стилей. Видим, что массив возвращает метод getStyles() объекта Document Object.
Опять же, проанализировав код класса данного объекта, находим там метод addStyle() формирующий массив всех стилей. Это нам и надо, поэтому, перед этой строкой контроллера, прописываем путь к своему файлу стилей:

данным скриптом я сделал скрытие полей формы при выборе другого способа доставки чем наш, а так же автоматическое переключение на «Новую почту, при клике на любом из полей формы нашего способа доставки.

данной строкой добавляем скрипт работающий с маской ввода телефонного номера для нашего поля. Скрипт скачан с этого сайта, там же и его описание. Саму маску можно поменять в модификаторе, там, где мы добавляли форму, в строке

На этот создание frontend-части, выводящей выбор способа доставки «Новая Почта» посетителям магазина завершено.

Администратор интернет-магазина должен иметь доступ к тем данным которые покупатель указал на странице оформления заказа. Поэтому добавим вывод информации указанной в нашем модуле добавляющем способ доставки «Новая Почта» на страницу заказа, а так же в печатные формы, которые могут быть использованы.
Вид страницы заказа в админ-панели:

Все, модуль готов! Еще раз даю ссылку на его скачивание. Он сразу готов к использованию, но конечно можно еще много всего улучшить и добавить какой-то функционал. В данной статье я постарался подробно описать весь процесс передачи данных от пользователя до сохранения их в БД, поэтому сможете подправить модуль под свои нужды.

Источник

[Решено] Убрать нули из стоимости бесплатной доставки

Рекомендуемые сообщения

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Похожий контент

1 400.00 руб
Скачать/Купить дополнение

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html
Добавил Prorab337 Добавлено 22.06.2015 Категория Доставки Системные требования PHP библиотека CURL, PHP версии 5.3 и выше Метод активации По запросу в ЛС
По запросу на почту
По скайпу
По емейлу
Автоматическая активация
Через официальный сайт дополнения Ioncube Loader Требуется OpenCart 3.0
2.3
2.2
2.1
2.0
1.5.6.4
1.5.6.3
1.5.6.2
1.5.6.1
1.5.6
1.5.5.1
1.5.5
1.5.4.1
1.5.3.1 ocStore 3.0
2.3
2.2
2.1
1.5.5.1.2
1.5.5.1.1
1.5.5.1
1.5.4.1.2
1.5.4.1.1
1.5.4.1
1.5.3.1
1.5.2.1
1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
Opencart.pro 2.1
OcShop 2.0.3.х
OcShop 1.5.6.4.х Обращение к серверу разработчика Да Старая цена 2000

1 400.00 руб
Скачать/Купить дополнение

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html
Добавил Prorab337 Добавлено 30.06.2015 Категория Доставки Системные требования PHP библиотека сURL, PHP версии 5.3 и выше Метод активации По запросу в ЛС
По запросу на почту
По скайпу
По емейлу
Автоматическая активация
Через официальный сайт дополнения Ioncube Loader Требуется OpenCart 3.0
2.3
2.2
2.1
2.0
1.5.6.4
1.5.6.3
1.5.6.2
1.5.6.1
1.5.6
1.5.5.1
1.5.5
1.5.4.1
1.5.3.1 ocStore 3.0
2.3
2.2
2.1
1.5.5.1.2
1.5.5.1.1
1.5.5.1
1.5.4.1.2
1.5.4.1.1
1.5.4.1
1.5.3.1
1.5.2.1
1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
Opencart.pro 2.1
OcShop 2.0.3.х
OcShop 1.5.6.4.х Обращение к серверу разработчика Да Старая цена 2000

Читайте также:  Как установить apple music на iphone 4

Данный модуль по праву считается лучшим решением для организации доставки Новой Почтой в Вашем интернет-магазине. Дополнение решает практически все задачи, которые возникают при работе с Новой Почтой и является отличным помощником на любом этапе работы с заказами. Кроме стандартных функций модуля доставки имеются инструменты для работы с Экспресс Накладными. Также доступны две функции калькулятора: расчет стоимости и срока доставки. Все расчеты происходят при помощи API, что гарантирует получение самых точных данных.
Дополнение также имеет ряд функций, которые за Вас в автоматическом режиме выполняют ежедневную рутинную работу: рассылка уведомлений с номером накладной, смена статусов заказа, напоминание о не забранных посылках и т.д.
Данный модуль не перезаписывает и не удаляет стандартные файлы и таблицы базы OpenCart. В работе модуля используется API «Новой Почты», что позволяет всегда иметь актуальную информацию о городах, отделениях, отправлениях и т.д., а также взаимодействовать непосредственно с Новой Почтой используя большое количество готовых решений, предоставляемых компанией. И это не все возможности модуля, функционал постоянно расширяется и улучшается. Приобретая модуль Вы будете экономить уйму времени и значительные денежные средства на обработке заказов и разработке аналогичного функционала.

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html

Данный модуль по праву считается лучшим решением для организации доставки Новой Почтой в Вашем интернет-магазине. Дополнение решает практически все задачи, которые возникают при работе с Новой Почтой и является отличным помощником на любом этапе работы с заказами. Кроме стандартных функций модуля доставки имеются инструменты для работы с Экспресс Накладными. Также доступны две функции калькулятора: расчет стоимости и срока доставки. Все расчеты происходят при помощи API, что гарантирует получение самых точных данных.
Дополнение также имеет ряд функций, которые за Вас в автоматическом режиме выполняют ежедневную рутинную работу: рассылка уведомлений с номером накладной, смена статусов заказа, напоминание о не забранных посылках и т.д.
Данный модуль не перезаписывает и не удаляет стандартные файлы и таблицы базы OpenCart. В работе модуля используется API «Новой Почты», что позволяет всегда иметь актуальную информацию о городах, отделениях, отправлениях и т.д., а также взаимодействовать непосредственно с Новой Почтой используя большое количество готовых решений, предоставляемых компанией. И это не все возможности модуля, функционал постоянно расширяется и улучшается. Приобретая модуль Вы будете экономить уйму времени и значительные денежные средства на обработке заказов и разработке аналогичного функционала.

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html

300.00 руб
Скачать/Купить дополнение

Доставка через «СДЭК»
Привет!
Представляю Вашему внимаю модуль доставки ТК «СДЭК».
Модуль основан на публичном API.
Модуль рассчитывает стоимость доставки от города указанного в настройках модуля до города указанного в оформлении заказа.
В модуле доступен ИНФОРМЕР для тестовых расчетов из админки.

Доступно 13 вариантов доставки:
1) Экспресс лайт дверь-дверь
2) Супер-экспресс до 18
3) Экспресс лайт склад-склад
4) Экспресс лайт склад-дверь
5) Экспресс лайт дверь-склад
6) Супер-экспресс до 12
7) Супер-экспресс до 14
8) Супер-экспресс до 16
9) Магистральный экспресс склад-склад
10) Магистральный супер-экспресс склад-склад
11) Блиц-экспресс 03
12) Блиц-экспресс 05
13) Блиц-экспресс 22

В будущем.
1) Добавить личный кабинет на основе публичного API
2) Выбирать какие варианты доставки показывать

Последние посетители 0 пользователей онлайн

Ни одного зарегистрированного пользователя не просматривает данную страницу

Источник

[Решено] Убрать нули из стоимости бесплатной доставки

Рекомендуемые сообщения

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Похожий контент

1 400.00 руб
Скачать/Купить дополнение

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html
Добавил Prorab337 Добавлено 22.06.2015 Категория Доставки Системные требования PHP библиотека CURL, PHP версии 5.3 и выше Метод активации По запросу в ЛС
По запросу на почту
По скайпу
По емейлу
Автоматическая активация
Через официальный сайт дополнения Ioncube Loader Требуется OpenCart 3.0
2.3
2.2
2.1
2.0
1.5.6.4
1.5.6.3
1.5.6.2
1.5.6.1
1.5.6
1.5.5.1
1.5.5
1.5.4.1
1.5.3.1 ocStore 3.0
2.3
2.2
2.1
1.5.5.1.2
1.5.5.1.1
1.5.5.1
1.5.4.1.2
1.5.4.1.1
1.5.4.1
1.5.3.1
1.5.2.1
1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
Opencart.pro 2.1
OcShop 2.0.3.х
OcShop 1.5.6.4.х Обращение к серверу разработчика Да Старая цена 2000

Читайте также:  Как установить хлебные крошки на wordpress

1 400.00 руб
Скачать/Купить дополнение

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html
Добавил Prorab337 Добавлено 30.06.2015 Категория Доставки Системные требования PHP библиотека сURL, PHP версии 5.3 и выше Метод активации По запросу в ЛС
По запросу на почту
По скайпу
По емейлу
Автоматическая активация
Через официальный сайт дополнения Ioncube Loader Требуется OpenCart 3.0
2.3
2.2
2.1
2.0
1.5.6.4
1.5.6.3
1.5.6.2
1.5.6.1
1.5.6
1.5.5.1
1.5.5
1.5.4.1
1.5.3.1 ocStore 3.0
2.3
2.2
2.1
1.5.5.1.2
1.5.5.1.1
1.5.5.1
1.5.4.1.2
1.5.4.1.1
1.5.4.1
1.5.3.1
1.5.2.1
1.5.1.3 OpenCart.Pro, ocShop Opencart.pro 2.3
Opencart.pro 2.1
OcShop 2.0.3.х
OcShop 1.5.6.4.х Обращение к серверу разработчика Да Старая цена 2000

Данный модуль по праву считается лучшим решением для организации доставки Новой Почтой в Вашем интернет-магазине. Дополнение решает практически все задачи, которые возникают при работе с Новой Почтой и является отличным помощником на любом этапе работы с заказами. Кроме стандартных функций модуля доставки имеются инструменты для работы с Экспресс Накладными. Также доступны две функции калькулятора: расчет стоимости и срока доставки. Все расчеты происходят при помощи API, что гарантирует получение самых точных данных.
Дополнение также имеет ряд функций, которые за Вас в автоматическом режиме выполняют ежедневную рутинную работу: рассылка уведомлений с номером накладной, смена статусов заказа, напоминание о не забранных посылках и т.д.
Данный модуль не перезаписывает и не удаляет стандартные файлы и таблицы базы OpenCart. В работе модуля используется API «Новой Почты», что позволяет всегда иметь актуальную информацию о городах, отделениях, отправлениях и т.д., а также взаимодействовать непосредственно с Новой Почтой используя большое количество готовых решений, предоставляемых компанией. И это не все возможности модуля, функционал постоянно расширяется и улучшается. Приобретая модуль Вы будете экономить уйму времени и значительные денежные средства на обработке заказов и разработке аналогичного функционала.

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html

Данный модуль по праву считается лучшим решением для организации доставки Новой Почтой в Вашем интернет-магазине. Дополнение решает практически все задачи, которые возникают при работе с Новой Почтой и является отличным помощником на любом этапе работы с заказами. Кроме стандартных функций модуля доставки имеются инструменты для работы с Экспресс Накладными. Также доступны две функции калькулятора: расчет стоимости и срока доставки. Все расчеты происходят при помощи API, что гарантирует получение самых точных данных.
Дополнение также имеет ряд функций, которые за Вас в автоматическом режиме выполняют ежедневную рутинную работу: рассылка уведомлений с номером накладной, смена статусов заказа, напоминание о не забранных посылках и т.д.
Данный модуль не перезаписывает и не удаляет стандартные файлы и таблицы базы OpenCart. В работе модуля используется API «Новой Почты», что позволяет всегда иметь актуальную информацию о городах, отделениях, отправлениях и т.д., а также взаимодействовать непосредственно с Новой Почтой используя большое количество готовых решений, предоставляемых компанией. И это не все возможности модуля, функционал постоянно расширяется и улучшается. Приобретая модуль Вы будете экономить уйму времени и значительные денежные средства на обработке заказов и разработке аналогичного функционала.

Перед установкой на работающем интернет-магазине рекомендуем выполнить установку и тестирование модуля на тестовом сайте или поддомене!

Детальная инструкция по установке, настройке, обновлению и удалению модуля доступна в архиве в файле instruction.html

300.00 руб
Скачать/Купить дополнение

Доставка через «СДЭК»
Привет!
Представляю Вашему внимаю модуль доставки ТК «СДЭК».
Модуль основан на публичном API.
Модуль рассчитывает стоимость доставки от города указанного в настройках модуля до города указанного в оформлении заказа.
В модуле доступен ИНФОРМЕР для тестовых расчетов из админки.

Доступно 13 вариантов доставки:
1) Экспресс лайт дверь-дверь
2) Супер-экспресс до 18
3) Экспресс лайт склад-склад
4) Экспресс лайт склад-дверь
5) Экспресс лайт дверь-склад
6) Супер-экспресс до 12
7) Супер-экспресс до 14
8) Супер-экспресс до 16
9) Магистральный экспресс склад-склад
10) Магистральный супер-экспресс склад-склад
11) Блиц-экспресс 03
12) Блиц-экспресс 05
13) Блиц-экспресс 22

В будущем.
1) Добавить личный кабинет на основе публичного API
2) Выбирать какие варианты доставки показывать

Последние посетители 0 пользователей онлайн

Ни одного зарегистрированного пользователя не просматривает данную страницу

Источник

Поделиться с друзьями
Adblock
detector