Пишу компонента по парсингу и записи Rss ленти в инфоблоки, не зная bitrix-а. Здесь результат: https://bitrix.nbrz.ru/imported-news/, код: https://github.com/M0LFAR/test-alterEgo
urlrewrite:
array(
"CONDITION" => "#^/imported-news/#",
"RULE" => "",
"ID" => "bitrix:news",
"PATH" => "/imported-news/index.php",
)
Вопрос: 1. Как обработать ajax запрос из шаблона компонента, какая есть альтернатива? 2.Как при ЧПУ выводить новости только для активной секции, например по адресу https://bitrix.nbrz.ru/imported-news/drugie/ - должны отображатся новости из секции drugie? Как в фильтр передать параметр из uri?
1.1 в запросе передаете параметр, означающий, что это AJAX запрос. По этому параметру необходимо перед контентом, что нужно отправить поставить сброс буфера $APPLICATION->RestartBuffer(), а сразу после die(). Минус решения, тратятся ресурсы на построение кода перед этим компонентом.
1.2 отдельный файл принимающий AJAX запрос, не подключающий header.php. И содержащий подключение компонента. Только надо позаботится, чтоб на странице и в этом скрипте настройки компоненты были соответсвющими.
Получаете текущий URL и разбираете его на значимые для вас части
$request = Bitrix\Main\Context::getCurrent()->getRequest(); $curDir = $request->getRequestedPageDirectory();
А дальше по нему фильтруете, по тем признакам что у вас есть
На мой взгляд практичнее создать агента (или просто скрипт дергаемый cron),который с заданной периодичностью, будет опрашивать фид и записывать в бд. А компоненту останется только выводить накопленные новости (обязательно с использованием кеширования).
Да даже если оставлять ваш подход - продумайте оптимаьный интервал времени, когда нет смысла опрашивать источник, а достаточно просто отдать из кеша.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
глупый недочет, каких бы это плюсов производительности не дало, это в любом случае минус, ключи должны сохранять свою изначальную позицию!