Русская поддержка интернет-магазина PrestaShop
русская поддержка PrestaShop.
Регистрация
Забыли пароль?
Главная
Возможности
Демо
Скачать
Каталог магазинов
Форум
Модули и шаблоны
Администрирование
Реклама и маркетинг
Аналитика и статистика
Оплата и платежные системы
Управление контентом
Экспорт
Фронт-офис
Локализация
Торговые площадки
Управление товарами
Средства миграции
Оформление заказа
Поиск и фильтры
Доставка и логистика
Слайд-шоу
Социальные сети
Модификаторы
Шаблоны PrestaShop
Работа
Главная
Форум
Общие форумы (prestashop v1.6.x)
Общий форум
Модуль перевозки и опции доставки
Модуль перевозки и опции доставки
tim8917
Новичок
Сообщений: 3
Регистрация: 07-03-2015
# 1
07-03-2015 02:53
У меня есть один перевозчик Amazon и три опции доставки (Standard, Expedite, Priority). Как правильно провести в Prestashop несколько опций доставки одного перевозчика ?
Я написал модуль доставки (CarrierModule). После активации модуля создался новый Carrier. Через hookExtraCarrier хук вывожу на этапе заказа 4. Shipping опции доставки. В зависимости от выбранной опции методе getOrderShippingCost возвращает ту или иную стоимость. В итоге на этапе 5. Payment, getOrderShippingCost возвращает стоимость предыдущей выбранной опции. И только после перезагрузки страницы 5. Payment отображается нужная стоимость выбранной опции. То есть страница как бы рендерится раньше, чем присваивается результат сабмита формы с опциями доставки.
ggyyvv
Cпециалист
Сообщений: 233
Регистрация: 23-11-2012
# 2
07-03-2015 06:24
не совсем понял чем отличаются эти опции.
может проще было сделать трех перевозчиков с разными условиями?
Amazon Standard
Amazon Expedite
Amazon Priority
Сообщение отредактировано ggyyvv 07-03-2015 01:25 ...
tim8917
Новичок
Сообщений: 3
Регистрация: 07-03-2015
# 3
07-03-2015 22:04
Вообще я получаю опции доставки динамически по ресту. Мне приходит ответ с сервера, что-то вроде [{label: "Standard", price: "6.40"},{label: "Expedite", price: "9.60"},{label: "Priority", price: "18.50"}]. Возможно создавать несколько перевозчиков - это вариант, если имена меняться не будут.
Сообщение отредактировано tim8917 07-03-2015 17:05 ...
ggyyvv
Cпециалист
Сообщений: 233
Регистрация: 23-11-2012
# 4
07-03-2015 22:56
а с помощью настройки диапазонов не пробовали? можно одного перевозчика, но разные диапазоны под себя, а там называйте их уже как хотите. А как часто меняются значения опций?
tim8917
Новичок
Сообщений: 3
Регистрация: 07-03-2015
# 5
08-03-2015 19:10
Диапазоны (Range) используются для вычисления ОДНОЙ стоимости, исходя из итогового веса или итоговой цены... Но мне в любом случае нужно пользователю показать N опций, которые пришли с сервера. В данном случае их три. Пока вижу выход создавать N перевозчиков под каждую опцию. Prestashop видимо не имеет такого функционала "опций", и теперь приходится изобретать велосипед.
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009
# 6
11-03-2015 10:57
Нужно создавать способы доставки при установке модуля в самом модуле и сохранять их идентификаторы в конфигурации. В свойствах способа доставки установить is_module = true и external_module_name = module->name
Один из параметров getOrderShippingCost это идентификатор запрашиваемого способа доставки. Сравниваете с сохраненными и выдаете нужную стоимость
В hookExtraCarrier ничего выводить не нужно
Модули для PrestaShop
,
Синхронизация с 1С
На Главную форума
Найти
FaQ
Панель управления
Кто он-лайн
Общие форумы (prestashop v1.7.x)
-- Общий форум
-- Установка, Настройка, Обновление
-- Модули, плагины
-- Дизайн, шаблоны
-- Песочница
Общие форумы (prestashop v1.6.x)
-- Общий форум
-- Установка, Настройка, Обновление
-- Модули, плагины
-- Дизайн, шаблоны
-- Песочница
Общие форумы (prestashop v1.5.x)
-- Общий форум
Общие форумы (prestashop v1.4.x)
-- Новости и объявления
-- Общий форум
-- Установка, Настройка, Обновление
-- Дизайн, шаблоны
-- Модули, плагины
-- Песочница
-- Прочее
Общие форумы (prestashop v1.3.x)
-- Общий форум
-- Установка, Настройка, Обновление
-- Дизайн, шаблоны
-- Модули, плагины
---- Платные модули и хаки
-- Песочница
Другое
-- Корзина
---- Хостинг
---- Каталог магазинов
---- Общий форум
---- Прием багов