Создание нового способа доставки

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Постановка задачи

Задача: добавить на сайт (OpenCart v 3.x) новый способ доставки, «Почта Беларуси».

Решение задачи по созданию нового способа доставки

За основу, нового способа доставки возьму модуль «Фиксированная стоимость доставки». Соответственно мне надо извлечь файлы этого модуля с опенкара для дальнейшей переделки.

Нахожу все файлы flat.* и сохраняю отдельно, с сохранением структуры вложенности.

Готовый, извлеченный модуль, можно скачать здесь.

Далее меняем название фалов модуля, был flat.* стал post_belarus.*

Открываем файл \admin\controller\extension\shipping\post_belarus.php

и делаем в нем правки

меняем название класса


<?php

class ControllerExtensionShippingPostBelarus extends Controller {

. . .

}

Далее заменяем все где встречается flat на post_belarus

Тоесть будут новые названия параметров, урлов и настроек как раз под новую доставку

В файле \admin\language\ru-ru\extension\shipping\post_belarus.php

меняем выводимый текст на новый


<?php
// Heading
$_['heading_title'] = 'Почта Беларуси';

Теперь дошли до файла шаблона

\admin\view\template\extension\shipping\post_belarus.twig

в нем проделываем так же замену flat на post_belarus

С админ частью модуля закончили, теперь правим файлы от фронтэнда

Правим файл модели

\catalog\model\extension\shipping\post_belarus.php

Меняем название класс


<?php
class ModelExtensionShippingPostBelarus extends Model {

. . .

}

так же, в нем проделываем замену flat на post_belarus

Правим файл перевода

\catalog\language\ru-ru\extension\shipping\post_belarus.php


<?php
// Text
$_['text_title'] = 'Почта Беларуси';
$_['text_description'] = 'Доставка почтой Беларуси';

Все, теперь новый модуль доставки готов и фунциклирует )

Пример можно скачать тут.

В данном примере, я показал как создать новую доставку на основании существующей, тоесть продублировать с изменением названия доставки.

Можно конечно и заморочится, добавив в доставку новые параметры а потом привязать их с оплатой, но это уже отдельная тема.

 

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *