Вывожу штатный блок с формой подписки например через вызов render_block block_id=ххх
В этой форме есть поле
<input type="hidden" name="redirect_url" value="index.php"> где содержится текущий url.
В шаблоне это поле как раза заполняется из переменной $config.current_url но проблема в том, что если вызов идет из блока, то эта переменная возвращает url отрисовки блока типа
Текущий, это какой? Отрисовка блока в Вашем случае - полноценный запрос, который приходит на CS-Cart как и все другие, пусть и в бекграунде браузера. Вам нужно пробросить эту переменную параметрами через разные запросы (или хранить в сессии последнее неаяксовое значение).
Вот например простой пример создаем обычную страничку и вставляем в текст в редактор <p><b title="Оставайтесь на связи" class="wysiwyg-block-loader cm-block-loader cm-block-loader--tFM6kJNFeFI="></b></p>
и будет ссылка у этой формы в итоге на index.php?dispatch=block_manager.render&object_key=tFM6kJNFeF
Чтобы пробросить url, сохранив например в сессию это же надо извне блока в сессию сохранять. Пока не пойму как это можно сделать
фактически нужно получить адрес страницы на которой пользователь, чтоб его на нее же и перекинуло после отправки формы.