В общем здесь:
https://www.cs-cart.ru/docs/4.2.x/developer/instruments/templates/popup.html
решение нет, или я что то не так понимаю. Вообще есть такая возможность, чтобы при открытии pop-up окна, в нём было содержимое определённого блока, и ещё блок сам по себе неактивен.
в попам можно вставить любой блок. Блок состоит из файла шаблона и функции php которая подготавливает данные согласно настроек блока, ну и сами настройки блока, обычно прописаны схемой. Чтобы вставить в попап блок нужно вставить его макет, но блок должен быть включен, т.к. в противном случае не будет данных для вывода. Иногда блоки могут не иметь свои собственные функции, тогда если блок выключен то в попап окне всеравно будут данные.
Не совсем понял. У меня в макете есть HTML блок, он выключен. Как в pop-up его вывести?
{render_block block_id=30 dispatch="products.view" use_cache=false parse_js=false}
Где 30 - id блока
dispatch не обязательно указывать
У нас есть бесплатный модуль Всплывающая Оболочка
https://www.ecom-labs.ru/cs-cart-multi-vendor-moduli/cs-cart-modul-pop-up-wrapper.html
Каждый блок можно засунуть во всплывающее окно с задержкой открытия
А если мне нужно повесить попап на кнопку и в него всунуть блок с моим кодом, который отправит данные из форму на мой обработчик по ajax?
Вешайте и отправляейте по аякс.
На что именно вешать? На класс что ли?
Как выше писали, попробуйте
{capture name="my_popup"}
{render_block block_id=30 dispatch="products.view" use_cache=false parse_js=false}
{/capture}
{include file="common/popupbox.tpl" content=$smarty.capture.my_popup id="my_popup" text=__('my_popup_header') link_text=__('my_popup_link')}
(!) Не тестировано
К сожалению в том и другом случае форма обрабатывает без проверки на обязательные поля
как бы это исправить/учесть
пример 1
{capture name="my_popup"}
{render_block block_id=1 dispatch="products.view" use_cache=true parse_js=true}
{/capture}
{include file="common/popupbox.tpl" content=$smarty.capture.my_popup id="my_popup" text=__('Форма') link_text=__('Кнопка') class="cm-dialog-auto-size ty-btn ty-cr-product-button"}
пример 2
<a class="cm-dialog-opener cm-dialog-auto-size cm-dialog-auto-size ty-btn ty-cr-product-button ty-btn__secondary" href="{"pages.view?page_id=1"|fn_url}" data-ca-target-id="open_id_ajax" >Кнопка</a>
<div id="open_id_ajax" class="hidden" title="Форма"></div>
В консоли разработчика посмотрите. Возможно, js ошибки какие-то есть
Да, уже ок, после очистки кеша магазина и браузерного. Спасибо
Жаль только форма не передает инфо с какой страницы отправлено