VibeFox GLS ParcelShop for OpenCart — Помощь
Требования
OpenCart: 3.0.x (проверено на 3.0.5.0) или 4.0.2 и новее (проверено на 4.1.0.3), со стандартной темой и её оформлением заказа в один шаг.
PHP: 8.0 или новее.
GLS: расширение не использует и не требует учётной записи GLS или ключа API. Карта ParcelShop общедоступна. Для отправки посылок в выбранные ParcelShop нужен договор с GLS.
Политика безопасности контента: если ваш магазин отправляет политику безопасности контента (Content Security Policy), разрешите map.gls-croatia.com, откуда загружается скрипт карты GLS.
Лицензионный ключ VibeFox: покупается на vibefox.net. Один ключ работает на одном домене.
Установка
Загрузка представляет собой один zip-файл с пакетами для обеих версий OpenCart. Распакуйте его на своём компьютере. Он содержит README.txt, пакет для OpenCart 3 vfd_gls_parcelshop-oc3-(version).ocmod.zip и пакет для OpenCart 4 vfd_gls_parcelshop.ocmod.zip. Устанавливайте только пакет для вашей версии OpenCart. Лицензионный ключ один и тот же для обеих версий.
OpenCart 3
1. В админке перейдите в Extensions > Installer, нажмите Upload и выберите файл vfd_gls_parcelshop-oc3-(version).ocmod.zip. Расширение не добавляет модификаций OCMOD, поэтому обновлять Extensions > Modifications не нужно. Вместо установщика можно скопировать содержимое папки upload из этого пакета в корневую папку вашего магазина.
2. Перейдите в Extensions > Extensions и выберите тип расширения Shipping. Найдите VibeFox GLS ParcelShop и нажмите Install (зелёная кнопка +).
3. Нажмите Edit (кнопка с карандашом), чтобы открыть страницу настроек.
4. Введите лицензионный ключ VibeFox в поле License key блока лицензии в верхней части страницы Edit и нажмите Activate (см. License key).
5. Задайте цены: хотя бы одну строку в Country prices (например * Default) или Fallback cost (см. раздел Настройка). Включите Enable/Disable и нажмите Save.
OpenCart 4
1. В админке перейдите в Extensions > Installer, нажмите Upload и выберите файл vfd_gls_parcelshop.ocmod.zip. Не переименовывайте файл: OpenCart 4 берёт код расширения из имени файла, и переименованный пакет не работает.
2. Пакет появляется в списке установленных расширений на той же странице. Нажмите Install (зелёная кнопка +) рядом с ним.
3. Перейдите в Extensions > Extensions и выберите тип расширения Shipping. Найдите VibeFox GLS ParcelShop, нажмите Install (зелёная кнопка +), затем Edit (кнопка с карандашом).
4. Введите лицензионный ключ и настройки так же, как в шагах 4 и 5 для OpenCart 3. Страница настроек и её поля одинаковы в обеих версиях.
После установки способ доставки выключен, пока вы не включите Enable/Disable и не сохраните настройки. Если вы устанавливаете расширение повторно после удаления, снова используются сохранённые настройки.
Настройка
Все настройки находятся на странице расширения: Extensions > Extensions > Shipping > VibeFox GLS ParcelShop > Edit. Разделы перечислены слева. Одна кнопка Save внизу сохраняет всю страницу без перезагрузки. Сохранять настройки могут только администраторы с правом изменения этого расширения.
Предупреждения вверху страницы, а также после каждого сохранения, указывают на проблемы с настройками: не задана ни одна цена, некоторые или все выбранные Countries (ignore zones mode) не входят в карту GLS, либо единица веса магазина неизвестна расширению и нет класса веса в килограммах (добавьте его в System > Localisation > Weight Classes). Неверное или отрицательное число отклоняется с сообщением, которое называет поле, например Fallback cost: "abc" is not a valid number of 0 or more - the previous value was kept. Остальные поля сохраняются. Неверные Name, порядок сортировки, класс налога или географическая зона отклоняются так же.
Общие
В разделе перечислены страны, которые входят в карту GLS: Австрия, Бельгия, Болгария, Хорватия, Чехия, Дания, Финляндия, Франция, Германия, Греция, Венгрия, Италия, Люксембург, Нидерланды, Польша, Португалия, Румыния, Сербия, Словакия, Словения и Испания. Способ доставки не предлагается для других стран назначения.
Enable/Disable: показывает или скрывает GLS ParcelShop при оформлении заказа. По умолчанию: выключено.
Name: название способа доставки, которое видит покупатель. По умолчанию: GLS ParcelShop. Обязательно, не более 64 символов, без символов < > ; = # { }.
Tax status: None (shipping is not taxed) или класс налога, который применяется, если доставка облагается налогом.
Sort order: положение среди способов доставки при оформлении заказа. Целое число.
Цены
Цены вводятся в валюте магазина по умолчанию, без налога. Дробная часть может писаться через запятую или точку (4,99 или 4.99). Покупатель видит цену в своей валюте.
Calculation type: как применяется цена.
Country prices: таблица с одной строкой на страну назначения. Нажмите Add country, чтобы добавить строку. В каждой строке есть Country, Price и пять колонок веса: XS до 1 кг, S 1–2 кг, M 2–3 кг, L 3–5 кг и XL более 5 кг. Используется колонка, соответствующая весу корзины. Колонка веса, оставленная со значением 0, использует колонку Price. Строка * Default используется для стран, у которых нет собственной строки. Строка, где все цены равны 0, означает бесплатную доставку, поэтому выберите страну и заполните цены до сохранения. Если какое-либо значение в таблице не является допустимым числом от 0 и больше, вся таблица не сохраняется, а сообщение перечисляет неверные значения.
Fallback cost: цена, которая используется, когда в таблице нет строки для страны назначения и строки * Default. Оставьте поле пустым, чтобы скрыть способ доставки для таких стран.
Free shipping from: сумма корзины (после скидок, без налога), начиная с которой доставка GLS ParcelShop бесплатна. Оставьте поле пустым, если доставка никогда не бывает бесплатной.
Доступность
Minimum weight (kg): скрывает способ доставки, если корзина весит меньше. Вес пересчитывается из классов веса товаров. Пустое значение или 0 означает отсутствие ограничения.
Maximum weight (kg): скрывает способ доставки, если корзина весит больше. По умолчанию: 20. ParcelShop GLS обычно принимают посылки до 20 кг, поэтому проверьте свой договор с GLS. Пустое значение или 0 означает отсутствие ограничения. Если минимум больше максимума, оба значения веса отклоняются с сообщением, и сохраняются прежние значения.
Minimum cart subtotal: предлагает способ доставки, только если сумма корзины (после скидок, без налога) достигает этого значения. Оставьте поле пустым, если минимума нет.
Geo zone: предлагает способ доставки только для адресов в этой географической зоне. All zones означает отсутствие ограничений. Не используется, когда включён Ignore shipping zones. Географические зоны настраиваются в System > Localisation > Geo Zones.
Ignore shipping zones: если включено, способ доставки предлагается для стран, выбранных ниже (все страны карты GLS, если список пуст), независимо от географической зоны. Если выключено, он предлагается только в географической зоне, указанной выше. По умолчанию: выключено.
Countries (ignore zones mode): страны назначения для этого режима. Оставьте поле пустым, чтобы использовать все страны карты GLS. Страны, которых нет в карте GLS, пропускаются. Это поле используется только при включённом Ignore shipping zones.
Дополнительно
Debug log: записывает расчёты тарифов и выбор ParcelShop в storage/logs/vfd_glps_debug.log.php (в OpenCart 4 — system/storage/logs/vfd_glps_debug.log.php). Файл нельзя прочитать через веб. Ошибки записываются всегда. Персональные данные покупателей не записываются. Выключите журнал, когда закончите. Когда файл достигает 5 МБ, он переносится в vfd_glps_debug.old.log.php, и начинается новый журнал.
Log: показывает размер и последние записи журнала отладки. Нажмите Clear log, чтобы очистить его.
Remove data on uninstall: если включено, удаление расширения стирает настройки и журнал. Если выключено, всё сохраняется для повторной установки. ParcelShop, сохранённый в заказах, всегда сохраняется.
Импорт / экспорт
Export: нажмите Download JSON, чтобы сохранить настройки в файл JSON.
Import: вставьте ранее экспортированный JSON и нажмите Import, чтобы восстановить настройки, например в другом магазине. Неверные значения сообщаются и не импортируются.
Как это работает при оформлении заказа
Когда OpenCart показывает способы доставки, он запрашивает у расширения цену GLS ParcelShop. Если задана Geo zone (и Ignore shipping zones выключено) и адрес находится за её пределами, способ доставки не предлагается. Учитываются только товары, у которых Requires Shipping установлено в Yes: другие товары не добавляют вес и не входят в сумму корзины. Сумма корзины — это цена этих товаров после скидки по купону, без налога. Затем расширение проверяет условия: страна доставки входит в карту GLS (и выбрана в Countries (ignore zones mode), когда этот режим включён), вес корзины и минимальная сумма корзины. Если сумма корзины достигает Free shipping from, доставка бесплатна. Иначе цена берётся из строки страны (или строки * Default) и колонки веса либо из Fallback cost. Если цена не найдена, способ доставки скрывается. Цена округляется до знаков после запятой валюты магазина по умолчанию и показывается с налогом, выбранным в Tax status.
Когда покупатель выбирает GLS ParcelShop, под способом доставки появляется блок GLS ParcelShop с кнопкой Select GLS ParcelShop. Она открывает официальную карту GLS ParcelShop для страны доставки. ParcelShop в другой стране отклоняется сразу. После выбора ParcelShop показываются его название и адрес, а кнопка меняется на Change ParcelShop. Выбор сохраняется в сеансе покупателя, поэтому он остаётся при повторной загрузке шага доставки. Если адрес доставки меняется на другую страну, покупателю нужно выбрать ParcelShop заново.
Когда покупатель нажимает Continue на шаге способа доставки, расширение проверяет, что ParcelShop выбран и находится в стране доставки. Иначе покупатель видит Please select a GLS ParcelShop. или The selected GLS ParcelShop is not in your shipping country. Please choose a ParcelShop again. и остаётся на этом шаге. Если ParcelShop не удаётся сохранить, покупатель видит The ParcelShop could not be saved. Please try again. Если скрипт карты GLS не загружается, покупатель видит The GLS ParcelShop map could not be loaded. Please reload the page or choose another shipping method.
В OpenCart 4 покупатель нажимает Choose в блоке способа доставки на странице оформления заказа и выбирает GLS ParcelShop в окне Shipping method options. Блок GLS ParcelShop с кнопкой Select GLS ParcelShop появляется в этом окне под способом доставки, а карта GLS открывается поверх окна. Кнопка Continue окна не продолжает оформление без допустимого ParcelShop, с теми же сообщениями. OpenCart 4 сохраняет один заказ для оформления и обновляет его каждый раз, когда покупатель подтверждает выбор снова, а ParcelShop заказа обновляется вместе с ним.
Карта GLS работает в браузере покупателя. На странице оформления заказа расширение загружает скрипт карты GLS с map.gls-croatia.com, а карта загружает от GLS данные ParcelShop и фрагменты изображения карты. GLS получает обычные данные запроса посетителя (IP-адрес, браузер). С вашего сервера в GLS ничего не отправляется. Ошибка в расширении никогда не нарушает оформление заказа для других способов доставки; она записывается в журнал.
Расширение не получает актуальные тарифы GLS, не создаёт отправления GLS, не печатает этикетки и не отслеживает посылки. На вашем сервере нет списка ParcelShop, поэтому оно не может проверить ID ParcelShop по данным GLS. Передайте ID ParcelShop из заказа в GLS привычным способом (MyGLS, ваше программное обеспечение GLS или другое расширение).
Пункты выдачи
При оформлении заказа ParcelShop, выбранный при оплате, сохраняется вместе с заказом: его ID, название с адресом и страна. После завершения заказа выбор очищается, и следующая корзина начинается без ParcelShop.
Shipping method name: ParcelShop добавляется к названию способа доставки в заказе, например GLS ParcelShop: name, address (сначала название способа доставки, затем ParcelShop) (OpenCart 3 сохраняет из него не более 128 символов, OpenCart 4 — не более 255). Поэтому ParcelShop виден в письме с подтверждением заказа покупателю, на странице заказа в Order History покупателя и в Sales > Orders. OpenCart не показывает способ доставки на странице успешного оформления заказа.
Admin order page: в Sales > Orders панель GLS ParcelShop показывает название и адрес ParcelShop, а также ParcelShop ID и страну. Если в заказе GLS ParcelShop нет ParcelShop, панель показывает No ParcelShop was selected for this order. Панель только показывает ParcelShop; изменить его там нельзя.
Письмо продавцу: письмо-уведомление о новом заказе, которое приходит магазину, содержит ParcelShop с его ParcelShop ID в блоке комментария.
Лицензионный ключ
Расширение работает с лицензионным ключом VibeFox с vibefox.net. Блок лицензии License — VibeFox GLS ParcelShop — первый блок на странице Extensions > Extensions > Shipping > VibeFox GLS ParcelShop > Edit, над настройками. Вставьте ключ в License key и нажмите Activate. После этого блок показывает ключ в скрытом виде, статус (например, дату, до которой действует лицензия, и ваш домен) и кнопки Check now, чтобы снова проверить статус, Change key, чтобы ввести другой ключ, и Remove key, чтобы удалить ключ из этого магазина. Ниже находятся строка Product: opencart-shipping-gls-parcelshop и ссылка Manage licenses and domains in your account, которая открывает ваш аккаунт vibefox.net. Изменить ключ могут только администраторы с правом изменения для расширения. Тексты блока следуют языку админки (включены английский и русский).
Если ключ не принят, блок сообщает причину, например Key not found, This key belongs to another product, Domain limit reached или License expired on с датой. После смены адреса магазина или после освобождения слота домена в вашем аккаунте нажмите Check now. Если сервер лицензий недоступен, расширение продолжает работать по последнему известному статусу.
Один ключ работает на одном домене: адрес магазина из настроек OpenCart. Удаление ключа из магазина не освобождает его слот домена. Освободите слот в своём аккаунте vibefox.net.
Без активного ключа GLS ParcelShop не показывается покупателям при оформлении заказа, и тариф не рассчитывается. Администратор, вошедший в админку в том же браузере, всё ещё видит способ доставки в магазине с отметкой (unlicensed — visible to admins only), поэтому вы можете настроить и проверить расширение до покупки ключа. В OpenCart 4 этот предпросмотр недоступен: магазин не видит, вошёл ли администратор в админку, поэтому без активного ключа способ доставки скрыт для всех. После того как вы один раз откроете страницу Edit, на странице Dashboard в админке появится напоминание. Закройте его кнопкой ×, чтобы скрыть на 7 дней. Существующие заказы не затрагиваются.
Когда лицензия истекает, расширение продолжает работать, но для обновлений и поддержки нужно продление. Статус автоматически проверяется снова, когда вы открываете Dashboard или страницу Edit в админке: раз в день в первые 14 дней после ввода ключа, затем раз в неделю. Cron-задача не нужна. Удаление расширения всегда удаляет лицензионный ключ и статус лицензии.
Устранение неполадок
GLS ParcelShop не появляется при оформлении заказа: проверьте, что лицензия активна и Enable/Disable включено. Проверьте Geo zone или Ignore shipping zones и Countries (ignore zones mode). Убедитесь, что страна назначения входит в карту GLS и для неё есть цена (строка страны, строка * Default или Fallback cost). Проверьте ограничения по весу и Minimum cart subtotal, а также что у товаров Requires Shipping установлено в Yes. Включите Debug log и посмотрите причину в поле Log.
Карта не открывается: покупатель видит «The GLS ParcelShop map could not be loaded...», когда скрипт GLS заблокирован, например рекламным или приватным блокировщиком, политикой безопасности контента или из-за сбоя GLS. Разрешите map.gls-croatia.com в политике безопасности контента.
Блок ParcelShop не появляется под способом доставки: расширение проверялось со стандартной темой OpenCart и её оформлением заказа. Тема или расширение оформления заказа, которое заменяет шаг способа доставки, может не показать блок.
Доставка для страны бесплатна по ошибке: проверьте строку этой страны в Country prices. Строка, где Price и все колонки веса равны 0, означает бесплатную доставку.
Таблица или поле не сохранились: значение не является допустимым числом от 0 и больше. Сообщение вверху страницы называет значение. Используйте цифры с запятой или точкой в качестве десятичного разделителя.
В заказе написано No ParcelShop was selected for this order: заказ оформлен без ParcelShop страны доставки. Причина записана в журнал. Попросите ParcelShop у покупателя и передайте его в GLS вручную.
На странице написано «Warning: You do not have permission to modify VibeFox GLS ParcelShop!»: ваша группа администраторов может только просматривать настройки. Дайте группе право изменения для extension/shipping/vfd_gls_parcelshop (OpenCart 3) или extension/vfd_gls_parcelshop/shipping/vfd_gls_parcelshop (OpenCart 4) в System > Users > User Groups.
Для разработчиков: адрес скрипта карты GLS можно заменить настройкой vfd_glps_widget_url; для неё нет поля на странице настроек.
Удаление
Перейдите в Extensions > Extensions, выберите тип Shipping и нажмите Uninstall (красная кнопка −) рядом с VibeFox GLS ParcelShop. Лицензионный ключ и статус лицензии этого расширения всегда удаляются. OpenCart всегда сбрасывает Enable/Disable, Sort order, Tax status и Geo zone. Расширение всегда удаляет свои события. Если Remove data on uninstall включено, остальные настройки и журнал отладки также удаляются. Если выключено, они сохраняются и используются снова при повторной установке расширения. ParcelShop, выбранный в открытой корзине, остаётся в сеансе покупателя до истечения срока. ParcelShop, сохранённый в заказах, всегда сохраняется, а существующие заказы сохраняют свой способ доставки и стоимость.
В OpenCart 4, чтобы удалить и файлы расширения, после удаления перейдите в Extensions > Installer, нажмите Uninstall (оранжевая кнопка −) рядом с VibeFox GLS ParcelShop в списке установленных расширений, а затем Delete (красная кнопка с корзиной), чтобы удалить загруженный пакет.
GLS — товарный знак его владельца. Это расширение не связано с GLS и не одобрено GLS.
