Некорректен минимальный срок доставки в одностраничном оформлении На рассмотрении

1

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

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

Например, тип доставки "Курьер", где предлагается 2 варианта:

1-й - за 410 руб и сроком 21-25 сентября

2-й - за 420 руб и сроком 20-23 сентября

К сожалению, в краткой информации о типе доставки отобразится "от 21 сентября". Считаю это некорректно, и это будет особенно очевидно, когда разница по первоначальной доставке сильно различается, что часто случается при доставке в дальние регионы разными тарифами. Например, 25-30 сентября и 20-25 сентября - отобразится "от 25 сентября". Клиент может и не узнать, что есть более быстрый способ по схожей стоимости, если не кликнет на данный тип доставки, что влияет на конверсию. А менять местами способы доставки тоже бессмысленно, так как в разные регионы по привлекательности (стоимость и срок доставки) они также меняются.

Скриншот ниже:

Пытался реализовать своими силами, но shipping.html переменная $shipping.types[$_type_id] содержит массив только с самыми "верхними" доставками из соответствующих типов.

3 комментария

  • +1
    Михаил Ушенин Михаил Ушенин Webasyst 14 сентября 2021 09:53 #

    У вас это происходит с разными типами доставки — не только с доставкой курьером? И какая версия Shop-Script у вас установлена? Например, в 8.21 не видно такой проблемы с доставкой почтой:

    Возможно, на это могут влиять какие-то плагины для Shop-Script, которые у вас установлены. Проверьте, пожалуйста.

    • +1
      Worker Worker 14 сентября 2021 14:10 #

      Да, это происходит с разными типами, например, с пунктами выдачи. Используются плагины доставки Почта России/СДЭК/Boxberry. Версия Shop-Script 8.18.0.44.

      Выгружаю {$shipping.types[$_type_id]|wa_dumpc}, вижу следующее:

      'id' => 'todoor',
      	'is_selected' => true,
      	'name' => 'Курьер',
        	'rate_min' => 400.0,
        	'rate_max' => 410.0,
        	'currency' => 'RUB',
        	'date_min' => '2021-09-21 10:00:00',
        	'date_max' => '2021-09-24 00:00:00',
        	'date_min_ts' => 1632207600,
        	'date_max_ts' => 1632430800,
        	'date_formatted' => 'от 21 сентября',
        	'variants' => [
        	  '29.rate-8' => [
        	  	...
        	  	'est_delivery' => '21 сентября 2021 - 25 сентября 2021',
        	  	...
        	  	'delivery_date' => [
        	      '2021-09-21 10:00:00',
        	      '2021-09-25 10:00:00',
        	    ],
        	    'variant_id' => '29.rate-8',
        	    'original_currency' => 'RUB',
        	    'original_rate' => 400.0,
        	    'rate_min' => 400.0,
        	    'rate_max' => 400.0,
        	    'date_min' => '2021-09-21 10:00:00',
        	    'date_max' => '2021-09-25 10:00:00',
        	    'date_min_ts' => 1632207600,
        	    'date_max_ts' => 1632553200,
        	  '27.TO_DOOR_233' => [
        	  	...
        	  	'est_delivery' => '20 сентября 2021—24 сентября 2021',
        	  	...
        	  	'delivery_date' => [
        	      	'2021-09-20 00:00:00',
        	      	'2021-09-24 00:00:00',
        	    	],
        	    	'variant_id' => '27.TO_DOOR_233',
        	    	'original_currency' => 'RUB',
        	    	'original_rate' => 410.0,
        	    	'rate_min' => 410.0,
        	    	'rate_max' => 410.0,
        	    	'date_min' => '2021-09-20 00:00:00',
        	    	'date_max' => '2021-09-24 00:00:00',
        	    	'date_min_ts' => 1632085200,
        	  ...
        	    'date_max_ts' => 1632430800,

      У меня /wa-apps/shop/templates/actions/frontend/order/form/shipping.html изменен, но только что проверил на оригинальном - всё то же самое.

      Может чего-то не понимаю, но в shipping.html изначально ничего не сравнивается, в отличие от $_type.rate_min. Для срока доставки обращение сразу к $_type.date_formatted, который почему-то берется с "верхней" в этом типе доставки.

      date_formatted формируется, как понимаю, в /wa-apps/shop/lib/classes/checkout2/shopCheckoutShippingStep.class.php - этот файл мною не изменялся.

      • +1
        Михаил Ушенин Михаил Ушенин Webasyst 14 сентября 2021 15:43 #


        Версия Shop-Script 8.18.0.44

        Проверьте ещё раз, когда обновитесь до версии 8.21 или выше. Или проверьте на тестовом сайте с более новой версией Shop-Script.

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

        Чтобы добавить комментарий, зарегистрируйтесь или войдите