OpenCart — дата доставки товара
Недавно мы рассмотрели модуль позволяющий добавить в оформление заказа большой выбор способов доставки, сегодня же, продолжая тему доставки, ознакомимся с маленьким, но довольно полезным модулем. Модуль «Deliver Date in Shipping» в шаг№4, после выбора доставки, добавляет выбор даты доставки товара покупателю. То есть, во время оформления своего заказа, покупатель имеет возможность указать в какой день он хотел бы, чтобы ему был доставлен товар.
Модуль совместим с версиями 1.5.0 — 1.5.6.4. Необходим vQmod.
Установка и настройка модуля:
Скачиваем модуль «Deliver Date in Shipping».
- В корневую папку магазина загружаем содержимое папки upload. Не забываем об установленном vQmod. Никакие файлы не будут затронуты.
- Идем в админ-панель магазина/Дополнения/Модули и устанавливаем Delivery Date in Order.
- Заходим в настройки модуля и вносим буквально пару изменений: выставляем указывать ли время дня (до обеда, после обеда) и меняем отображение даты, так как оно приемлемо для англоязычных стран, в которых месяц отображается до числа. Меняем m/d/Y на d/m/Y.
- Для того, чтобы надпись Delivery Date была на нужном нам языке, в catalog/language/ukrainian/module загружаем файл из скачанного архива с модулем — upload\catalog\language\english\module\delivery_date.php. При этом преобразовываем кодировку файла в utf-8 без BOM.
- Чтобы перевести на украинский остальные слова необходимо править файл vqmod/xml/delivery_date.xml. Ему также необходимо изменить кодировку.
Находим строки 200-201 и меняем их на
1 2 |
<option <?php if($delivery_time=='morning') echo 'selected';?> value="Morning">До обеда</option> <option <?php if($delivery_time=='Afternoon') echo 'selected';?> value="Afternoon">После обеда</option> |
Таким образом мы изменили «Morning и Afternoon» на «До обеда и После обеда», в данном случае можно прописать то, что будет удобным для вас.
Чтобы изменить названия месяцев находим строки 179-186 и меняем их на
1 2 3 4 5 6 7 8 |
<?php $months = array('01' => 'Январь', '02' => 'Февраль', '03' => 'Март', '04' => 'Апрель', '05' => 'Май', '06' => 'Июнь', '07' => 'Июль', '08' => 'Август', '09' => 'Сентябрь', '10' => 'Октябрь', '11' => 'Ноябрь', '12' => 'Декабрь'); foreach ($months as $k => $month) { $selected=''; if($k==$delivery_month)$selected='selected'; echo '<option value="'.$k.'" '.$selected.'>'.$month.'</option>'; } ?> |
В данный код не было внесено никаких изменений кроме перевода названий месяцев.
После внесенных изменений выбор даты доставки принимает вот такой вид:
Добрый день. я так понимаю, что этот модуль Delivery date in shipping работает только с модулем X-shipping? попробовал с модулем Simple 3.8.3 — не работает( может можно как-то сделать?
Нет, для работы модуля Delivery date in shipping наличие модуля x-shipping не требуется. Модуль Delivery date работает и со стандартными вариантами доставки. А что касается Simple, то данный модуль со многими другими модулями несовместим, здесь уж вопросу к разработчику Simple.
Жаль, конечно..спасибо!
Добрый день. Хорошее дополнение. Но есть одно «НО» — модуль позволяет покупателю выбирать любую дату и любое время доставки. Т.е. если сейчас 18:00, то пользователь свободно может выбрать время доставки «до обеда». Я уже не говорю о оформлении доставки вчерашней датой.
Вопрос уважаемому гуру: можно ли это как-нибудь подкорректировать? Если сейчас, например 12:00, то способ доставки «до обеда» сделать не активным.
Как подкорректировать не подскажу. Видимо, модуль рассчитан на адекватных покупателей.
Понятно. Спасибо.
Здравствуйте! по каким причинам модуль может не заработать? всё сделала, как Вы описали, но на сайте не отображается
vqmod установлен?
Если шаблон сторонний, то попробуйте в xml файле модуля вместо «*» прописать название своего шаблона.
установлен, вместо звёздочек прописала, на всякий случай, default, стоит easy_checkout_v0.0.7
установлен, вместо звёздочек прописала default,со сзвёздочкой тоже не работает, стоит easy_checkout
Модуль написан под стандартное оформление заказа, никак не под easy_checkout какой бы то ни было версии.
а других похожих модулей нет, работающих с не стандартным оформлением?
На ocstore 1.5.5 вместо выбора даты такое
Notice: Undefined index: delivery_day in /home/u860178224/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_confirm.php on line 328Notice: Undefined index: delivery_month in /home/u860178224/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_confirm.php on line 329Notice: Undefined index: delivery_year in /home/u860178224/public_html/vqmod/vqcache/vq2-catalog_controller_checkout_confirm.php on line 330
Тестировала модуль на ocstore 1.5.5.1.2 — работает. Возможно, произошла ошибка при заливке файлов, версия vqmod не подходящая, несовместимость модулей, если используется сторонний шаблон, то в xml файле необходимо прописать его название и т.д., в общем, причин для ошибки может быть много, надо выяснять их в процессе разбора.