июня 15, 2011

PrestaShop: Настройка компонента “Доставка”


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

Если Вы не планируете динамически подсчитывать стоимость доставки – то методы можно просто добавить через панель администрирования, но если ваши пользователи должны получать стоимость в зависимости от дальности доставки, а не только метода – потребуется дополнительная настройка движка.

Естественно что доставка там настроена не для России. Исправим этот недостаток.
Доставка будет осуществляться из Москвы. Предлагаю следующие способы:
по Москве – Курьером и Самовывоз из магазина
по России – Почта EMS
1. Если за упаковку товара Вы предполагаете брать деньги или предоставлять скидки оптовым покупателям – внесите нужные суммы в поля блока “Доставка”:

2. Конечно о том что в русской локализации у России появилось хотя бы упоминание о разбивка на области, разработчики не позаботились. Ставим галочку,что в России есть территориальные деления.


3. В зонах разбиваем по предполагаемой стоимости и способах доставки, например, для ЕМС создаём зоны как описано у них на сайте(http://www.emspost.ru/tarifi_sroki/internal/vnutr_set/). Для курьера, возможна более детальная разбивка конкретной области.
4. Создаём области, куда может доставляться наш товар. Для обозначения кода области используем вики (http://en.wikipedia.org/wiki/ISO_3166-2:RU), лучше брать последние 3 знака, т.к префикс “RU-” избыточен. Для каждой зоны выбираем тарифную зону, созданную в пункте 3
5. Вводим меру веса, по которым будет различаться стоимость. Зависит от товара, но обычно берут по 0.5кг.
6. Приступаем к созданию непосредственно самих способов доставки. Курьер и Самовывоз уже есть, нужно их только перевести и выбрать зоны (например, районы города или области). Создаём способ EMS – логотип можно взять с их сайта.
7. Настраиваем цены, для этого переходим в корневую вкладку доставки.

Таблицу по стоимости доставки EMS можно взять у них на сайте (ищите к какой зоне принадлежит Ваша область и смотрите связанную с ней таблицу), например, для Москвы – http://www.emspost.ru/tarifi_sroki/internal/vnutr_set/zone0.php


Комментарии

  • Серик

    А как реализовать так, что бы окончательная стоимость зависела от веса? Т. е. в пересылках сумма зависит от веса товара. И, например,каждые 100 грамм автоматически добавлялся к сумме.

    Например, товар стоит 1 доллар, и он весит 300 грамм. Первые 100 грамм стоят 2 у е, каждый следующий 1 у е. И что бы выводилась окончательная цена при заказе

    • Базовым функционалом можно только сделать разную стоимость для разного итого веса и бесплатную от указанного веса. Стоимость доставки с градацией веса нужно дорабатывать.

  • Серик

    Вы можете это как-то сделать? Мы можем договориться?

    • Наиболее близкое решение вашей задачи – разбить стоимость доставки по весу(в админке):
      Например: 100гр – 1$, 300 -2$, 600 – 3$

  • Серик

    Там есть шкала цен и шкала веса, но как их интегрировать друг с другом? Или как привязать к шкале веса определенную цену?

    • Интегрировать друг с другом нельзя, можно только по отдельности. Либо стоимость доставки считается по шкале веса, либо по шкале стоимости заказа

  • Milenka

    Добрый вечер. Сделала все так как написано, но не работает…
    ПОМОГИТЕ((((((
    Проблема в том что когда я настраиваю тарифную сетку у меня вылезает и зона EUROPE тоже, и тогда там приходиться выставлять цену и соответственно все регионы просчитываются по этой зоне. А если я снимаю галку в перевозчике, то вообще не выводит мне этот способ доставки. Бьюсь уже второй вечер, что не так делаю?(((((((

    • Значит что то не так настроили… может у вас Россия в этой зоне?

  • Alexin

    Подскажите пожалуйста, как изменить логотип курьера в prestashop

  • Karvin-g

    Здравствуйте. У меня в разделе страны, стран очень много, убрать их я не знаю как, а добраться до РФ у мня не получается. при попытки фильтации выскакивает 502 Bad Gateway nginx ошибка. 

    А если делать новую страну то выскакивает вот такая ошибка:  
    Invalid address layoutDuplicate entry ‘0’ for key ‘PRIMARY’Что делать подскажите.

    • 502 Bad Gateway nginx – нужно обратиться к хостеру, скорее всего не хватает ресурсов на выполнение престовских скриптов. Делится о мнении работы хостера и PrestaShop можно в теме http://web-esse.ru/internet-shops/hosting-prestashop-opencart/

  • Gos1984

    Здравствуйте!
    У меня проблема связанная с выбором способа доставки. По умолчанию стоит самовывоз, но если переключить на другой способ, возникает ошибка
    TECHNICAL ERROR: unable to save carrier

    Details:
    Error thrown: [object XMLHttpRequest]
    Text status: parsererror

    Не могу понять в чем проблема. Прошу вашей помощи в этой проблеме.

    • В файле order-opc.js (если у вас одностраничная покупка) есть функция updateCarrierSelectionAndGift() – она шлёт аякс запрос в php контроллер заказа, который возвращает ошибку. Наиболее частая причина ошибки – одно из полей в запросе не передаётся, например если вы сменили id у элемента. Строка аякс запроса формируется тут: data: ‘ajax=true&method=updateCarrierAndGetPayments&id_carrier=……..’
      Посмотреть что реально передаётся на сервер можно с помощью FireBug

  • Gos1984

    Да, забыл сказать, у меня PrestaShop™ 1.4.4.0

  • Alett

    Здравствуйте!
    1. Подскажите пожалуйста, как доставку вообще отключить? И оплату тоже. 
    Т.е. мне нужно чтобы покупатель заполнил корзину, свой адрес и кнопкой “оформить заказ” я бы получила письмо с его заказом. В ответ планирую высылать банковскую квитанцию, доставку впишу уже в нее, т.к. невозможно сразу оценить ее стоимость (специфика товара). 
    2. И как убрать все упоминания об НДС?

    • 1. Из админки нельзя отключить, только доработкой кода

      2. В PrestaShop 1.5 налог отключается в разделе localization -> Taxes, в 1.4 в оплате

  • Влад

    Спасибо за пост! Не знал, что в РФ надо регионы включить. Помогло!!!!

    • Всегда пожалуйста)

  • Андрей

    У меня доставка курьером по городу. До 9 999 руб. стоимость доставки 200 руб., от 10 000 руб. доставка по городу бесплатно. В Перевозчиках создал курьера, вынес свой город в отдельную зону, “привязал” курьера к этой зоне. Доставку в зависимости от веса отключил.
    Далее мои действия по шагам:
    1) в поле доставка сделал бесплатно с 10000 руб.
    2) выбор тарификации – сумма заказа
    3) метод доставки – курьер
    4) Стоимость – 0 руб. – 9999 руб. = 200 руб., 10000 руб. – 100000 руб. = 0 руб.
    И после всего этого при оформлении заказа курьера даже нет в списке!
    Что сделал не так? Заранее благодарю за ответ

    • А сам город вы вынесли в селект при оформлении заказа? Просто возможно на странице выводятся курьеры для “России”….

  • Kengo Ken

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

    • Алексей

      Вероятно, у вас выбрана расширенная система управления остатками (используются склады, определяются остатки по складам).

      Нужно в настройках каждого склада указать какой перевозчик может доставлять с него товары.
      Было то же самое, помогло)

  • Александр_

    Здравствуйте.

    Подскажите пожалуйста. В меню доставка нет пунктов : страны, региона, зоны. это какой то другой модуль доставки? и где можно скачать тот о котором описано в этой статье?

    • Добрый день, у вас наверное новая версия престы, статья написана для предыдущего релиза

  • Руслан

    Добрый день!

    В доставке все настроил, ошибок не выдает.

    Только на сайте при оформлении заказа прописывает все способы доставки – бесплатными(((

    В разделе Панель Управления – Shipping – Countries в окошке (Географическая зона, в которой расположена данная страна) вообще зон не было (окошко было не активно)

    пришлось зону самому добавить Europe (out E.U) в разделе Zones, может в этом дело?

  • Алена

    Добрый день! Бьюсь уже несколько дней с доставкой, теперь прошу вашей помощи! У меня Преста 1,5. Прежде, чем настраивать доставку, настроила страны, регионы/области и зоны. У меня доставка только по России, два курьера: один по Москве и области, второй ЕМС – в остальные регионы.
    Настраиваю: Страна – Россия – географическая зона Europe (out E.U.). Ставлю, что имеется разделение на регионы/области. Согласно структуре ЕМС, завожу все регионы и области. Создаю зоны, опять же согласно структуре ЕМС: зона 0 – Москва, область и Питер, зона 1- Владимирская обл. и т.д., зона 2 – как у ЕМС и т.д. Присваиваю зоны регионам и областям. Так как России присвоена зона Europe (out E.U.), то при настройке “Стоимость доставки по видам доставки, географической зоне и весу заказа” появляется зона Europe (out E.U.) и остальные зоны, установленные для курьера. Какую стоимость я там должна проставить?

  • Игорь

    А для меня было бы идеально ,если бы можно было выбирать платная доставка или бесплатная, основываясь на количестве единиц товара, а не в зависимости от веса.
    Например, чтобы в первом окне “Доставка” было еще поле для ввода количества товаров “Бесплатная от:” и далее указываешь количество товаров. У меня так доставка от 2-х единиц по городу бесплатная. Об этом указывается в условиях доставки в КМС странице. Но если 1 единица товара, то я поставил 2 доллара доставку. И выходит, что автоматом стоимость доставки пробивается и при выборе 2-х единиц товаров. А хотелось бы, чтобы так не было. Товары весом не награждаю. Их стоимость не всегда зависит от веса, а 2 единицы в 1 место везти все-таки проще, чем одну.

  • Виктор

    Добрый день, подскажите пожалуйста в престе есть функционал бесплатная доставка от суммых Х, как сделать чтобы эта бесплатная доставка работала только на 1 регион, а не на все?

    • В зависимости от версии престы настраивается немного по разному. В 1.6 необходимо при редактировании курьера зайти во 2 шаг и создать 2 диапазона, один с суммой платной доставки, второй от Х. В зонах доставки выставить 0р для нужного диапазона.