ob_start();
$APPLICATION->IncludeComponent(...)
$content = ob_get_сlean();
Поставь в bitrix:catalog.section параметры
Прямо вот именно так и никак по-другому не сделать?
Тупой вариант в лоб - перед ob_start(); изменить $_REQUEST, доавив нужные переменные и сохранив оригинальный. После $content = ob_get_сlean(); востановить оригинальный_REQUEST. Чай многопоток у нас.
Более правильный вариант - кастомизировать компонент.
Еще более правильный вариант - написать свой компонент и отказаться в том числе и от буферизаци вывода.
Тупой вариант в лоб - перед ob_start(); изменить $_REQUEST, доавив нужные переменные и сохранив оригинальный. После $content = ob_get_сlean(); востановить оригинальный_REQUEST. Чай многопоток у нас.
а еще более правильный - это свой компонент, отнаследованный от действующего
похоже, что считывание этого PAGEN происходит не на уровне компонента а на уровне ядра в целом.
Я так понимаю, ты какой-то rest пытаешься сделать? Но тогда все равно логику не пойму, зачем у тебя в json попадает компонент? Может стоит разделить логику?
В данном случае не прокатит - вам придется заменить сам вызов getlist в нем.
protected function initNavParams()
{
if ($this->isPaginationMode())
{
if (
$this->arParams['PAGE_ELEMENT_COUNT'] > 0
&& (
$this->arParams['DISPLAY_TOP_PAGER']
|| $this->arParams['DISPLAY_BOTTOM_PAGER']
|| $this->arParams['LAZY_LOAD'] === 'Y'
)
)
{
$this->navParams = array(
'nPageSize' => $this->arParams['PAGE_ELEMENT_COUNT'],
'bDescPageNumbering' => $this->arParams['PAGER_DESC_NUMBERING'],
'bShowAll' => $this->arParams['PAGER_SHOW_ALL']
);
//TODO: это временный костыль!!! Исправить!!!
if ($this->arParams['PAGE']){
$this->navParams['iNumPage'] = $this->arParams['PAGE'];
}
$this->navigation = \CDBResult::GetNavParams($this->navParams);
if ($this->navigation['PAGEN'] == 0 && $this->arParams['PAGER_DESC_NUMBERING_CACHE_TIME'] > 0)
{
$this->arParams['CACHE_TIME'] = $this->arParams['PAGER_DESC_NUMBERING_CACHE_TIME'];
}
}
else
{
$this->navParams = array(
'nTopCount' => $this->arParams['PAGE_ELEMENT_COUNT'],
'bDescPageNumbering' => $this->arParams['PAGER_DESC_NUMBERING'],
);
$this->navigation = false;
}
}
else
{
$this->navParams = array('nTopCount' => $this->arParams['PAGE_ELEMENT_COUNT']);
$this->navigation = false;
}
}
в качестве бекэнда для веб-приложения. Просто в битриксе уже все это реализовано
только пока не понятно как бы так все отнаследовать
CBitrixComponent::includeComponentClass("bitrix:catalog.section");
не понял, что ты в данном случае называешь веб-приложением (у битрикса есть мобильное приложение), думал может еще какой-то модуль появился, поэтому спросил про документацию
не понял, что ты в данном случае называешь веб-приложением (у битрикса есть мобильное приложение), думал может еще какой-то модуль появился, поэтому спросил про документацию
Как вариант битриксоиды делают это так
CBitrixComponent::includeComponentClass("bitrix:catalog.section");
class Test extends CatalogSectionComponent {
protected function initNavParams() {
//............
}
}