Неверный redirect_url в блоке встраиваемом в контент страниц

Где возникла проблема: CS-Cart 4.14.1.SP1 RU

Суть проблемы:
Неверный redirect_url в блоке встраиваемом в контент страниц.
В результате контент не обновляется по ajax

Как воспроизвести проблему:

  1. Добавить блок, например, скроллер товаров на любую страницу в контент. https://skr.sh/sBj4ONQQjnk
  2. На странице с блоком добавить товар в корзину https://skr.sh/vBjzSkQYIVb

Воспроизведено на https://demo.cs-cart.ru/stores/c05585f0e5804d3a/bonusnye-bally/

Вот такое решение можно использовать (пока как временное).
Создаем файл init.post.php (для controllers/frontend)

<?php

defined('BOOTSTRAP') or die('Access denied');

if($_REQUEST['dispatch'] != 'block_manager.render'){
    Tygh::$app['session']['auth']['original_request'] = $_REQUEST;
    Tygh::$app['session']['auth']['block_redirect'] = '';
    if(isset($_REQUEST['page_id'])){
        Tygh::$app['session']['auth']['block_redirect'] = fn_url($_REQUEST['dispatch'] . '&page_id=' . $_REQUEST['page_id']);
    }
}

В файле блока, если это например блок с товарами: после
{assign var="form_open" value="form_open_$obj_id"}
Или после начала формы своего блока.

{if $smarty.request.dispatch == 'block_manager.render' && $auth.block_redirect}
    <input type="hidden" name="redirect_url" value="{$auth.block_redirect}" />
    <!-- другие поля .... -->
{/if}

Здравствуйте @sweetcode
Спасибо за ваше обращение.
Я воспроизвела проблему и передала информацию разработчикам.
Мы сообщим вам, когда проблема будет исправлена.

1 лайк

Здравствуйте, @sweetcode

Проблема исправлена, исправление войдет в следующий релиз CS-Cart и Multi-Vendor
Для исправления проблемы собственными силами можно использовать патч: blocks.zip (1,5 КБ)

О том, как применить патч, можно прочитать в нашей документации: Как применить diff-файл — Документация docs.cs-cart.ru 4.15.x

1 лайк