ragnar_ok
@ragnar_ok

Как использовать CAjax::GetForm()?

Использую CAjax::GetForm() в шаблоне компонента catalog.filter.

<?=CAjax::GetForm(
'name="ajaxform" action="formtest.php" method="POST"', 
'formtest',
CAjax::GetComponentID('bitrix:news.list', '.default', ''))?>

В контейнер formtest, который содержит вызов компонента bitrix:news.list .default, при submit вставляется html всей страницы, а не только html компонента. Как заставить это поместить в контейнер html компонента?
  • Вопрос задан
  • 285 просмотров
Решения вопроса 1
ragnar_ok
@ragnar_ok Автор вопроса
Предлагаю порядок действий:
  1. указать параметр AJAX_MODE для bitrix:news.list
  2. кастомизировать bitrix:news.list и заставить его возвращать $arParams['AJAX_ID'], который он сгенерировал из-за 'AJAX_MODE' => 'Y'
  3. передать AJAX_ID для bitrix:news.list в параметрах catalog.filter
  4. рендерим форму в шаблоне фильтра:
    CAjax::GetForm('name="ajaxform" action="formtest.php" method="POST"', 'comp_'.$arParams['AJAX_ID'], $arParams['AJAX_ID'])

  5. ???
  6. PROFIT!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Сверху по условию
$APPLICATION->RestartBuffer();

Снизу по условию
die();
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы