Привет, подскажите в каком направлении двигаться в моей задачи и можно ли её сделать.
В общем есть каталог. сделано на аспро, когда заходишь в него попадаешь на catalog.section.list где выбираешь нужный раздел. задача состояла в данном разделе под этим списком пока ещё пользователь не выбрал нужный раздел каталога, вывести товары из каталога все, по сути не привязанные к разделу определённому, я сделал вывод ниже него через bitrix:catalog.section товары появились но не работает пагинация, гугл долго но лишь понял что я нарушаю логику кэширования, так как у меня выключен аякс мод, и по сути страница уже отрендерилась а я пытаюсь её перезагрузить пагинацией, ок думал мб тогда аякс мод включить то вообще всё идет по одному месту. Так вот как мне всё таки воплотить данную задачу в реальность, в каком направлении идти ?
Так же пытался вывести в самом разделе catalog где комплексный компонент, через if ($APPLICATION->GetCurDir() === '/catalog/') { но не получилось.
что-то странное Вы пишете.
у вас есть шаблон комплексного компонента, например:
local/templates/aspro_max/components/bitrix/catalog/.default
В нем есть файл sections.php - это страница корня каталога.
Вот туда запихиваете вызов bitrix:catalog.section , должно работать. Главное, чтобы SECTION_ID и SECTION_CODE были пустые.
Проблем с кэшированием в этот момент быть не должно, потому что комплексному компоненту нечего кэшировать - это уже компоненты на страницах его шаблона кэшируются.
Сделал получилось вывести, пагинация работает но вот показать ещё не работало, решил сделать кастомный скрипт что бы она заработала, но хотелось бы понять как правильно надо было сделать что-то подключить может дополнительно что бы заработало. Просто скорее всего понадобится добавить фильтр и я думаю с ним будут такие же приколы. а это уже как-то такое себе писать его как показать ещё.
Windramix, кода слишком много, чтобы вникать в него для развлечения, поэтому отдельные комментарии:
1) если кнопка "показать ещё" в обычном случае работает ( "обычный случай" - это взяли отдельную тестовую страницу, закинули на неё компонент с дефолтным шаблоном и смотрим), то я бы разбирался, почему не работает, а не кидался сразу делать своё
2) у Битрикса раньше была проблема с AJAX. Чтобы её понять, надо знать механизм работы компонентов по AJAX, а он был таким:
а) AJAX запрос уходит на страницу,
б) Битрикс исполняет страницу как обычно, пока не натыкается на вызов компонента, у которого в параметрах указано "AJAX включен"
в) внутри этот компонент сбрасывает все накополенные буферы, делает то, что ему нужно, и завершает страницу ( exit )
Очевидно, с таким подходом 2 компонента с включённым AJAX уже не смогут работать ( будет срабатывать только первый по коду ). На тот момент решение было костыльное: в папке компонента или в шаблоне компонента лежал файлик ajax.php, в котором был вызов компонента, и запросы направлялись не на всю страницу, а только на этот файл. Как сейчас - не знаю, давно не интересовался. Подозреваю, что так и осталось, так что учитывайте это.
3) arrFilterNew - очень плохое название, ни о чём не говорит. назовите allProductsFilter или как-то иначе, лишь бы понятно было.
4) венгерская нотация ( "arrFilter", "bComplex" ) была придумана не для этого, и с появлением современных IDE давно потеряла актуальность. Постарайтесь не привыкать к плохому.