WebDev2030
@WebDev2030
Битриксоид до мозга и костей

Как организовать AJAX форму c включённым кешированием нас странице компонента на сайте под управлением 1С-Битрикс?

Стоит задача организовать AJAX-форму внутри компонента catalog на странице detail.php с catalog.element.
В компонент с формой нужно передать данные о самом товаре и поэтому я разместил форму в компоненте catalog.element.
Проблема в том, что при отправке данных чрез ajax отдаётся закешированный html catalog.element и код
$request = \Bitrix\Main\Context::getCurrent()->getRequest();
if(strtoupper($request->get("AJAX")) == "Y" && $arResult["PARAMS_HASH"] == $request->get("PARAMS_HASH")){}

не срабатывает. Вообще похоже что компонент с формой не срабатывает.
  • Вопрос задан
  • 722 просмотра
Пригласить эксперта
Ответы на вопрос 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Можно форму подключить не в template.php catalog.element, а в component_epilog.php

Если надо передать какие то данные о товаре в форму то можно эти данные добавить в component_epilog в result_modifier с помощью
<?
$arResult["FORM_DATA"] = [];
$this->__component->SetResultCacheKeys(["FORM_DATA"]);


Только не надо добавлять избыточные данные с помощью этого метода, иначе кеш будет не оправданно большой
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы