«Да не могут же они!»
В шаблоне компонента catalog.section.list (Стрктура раздела) нужно создать файл component_epilog.php. В этом файле нужно проверять, есть ли у раздела подразделы (если они есть, то в $arResult['SECTIONS_COUNT'] будет число больше нуля). Если подразделы у раздела есть, нужно завести какой-нибудь флажок (через define() или через глобальную переменную). Далее в файле section.php шаблона bitrix:component надо проверять этот флажок (естественно, уже после вызова компонента bitrix:catalog.section.list. Если флажок выставлен (у раздела есть подразделы), то показывать список подразделов. Если не выставлен, показывать фильтр и список элементов раздела.
«Да не могут же они!»
|
|||
|
|
|
|
Неправильно выразился.
Избегайте CIBlockSection::GetList() с подсчётом кол-ва элементов в разделах. Что касается постраничной навигации, старайтесь строить её по как можно меньшему кол-ву элементов. Постраничка по всем 300k элементам может очень сильно нагрузить ваш сервер.
«Да не могут же они!»
|
|
|
|
|
|
Найдите шаблон компонента, который используется для показа списка разделов и подразделов.
Посмотрите, какие данные передаются в шаблон (данные находятся в массиве $arResult). Найдите в $arResult ту часть, которая относится к вашим разделам. Посмотрите поле PICTURE в описании разделов. Если там массив, то всё прозрачно: путь к картинке в поле SRC, размеры в WIDTH/HEIGHT. Если там число, то придётся вызывать . Всё вышеописанное относится к случаю, когда для показа разделов/подразделов используется штатный компонент bitrix:catalog.section.list или самописный компонент, сделанный более-менее в соответствии с правилами разработки под битрикс.
«Да не могут же они!»
|
|
|
|
|
|
Вы делаете сайт сами, или вам достался уже готовый сайт, с которым вы пытаетесь разобраться?
Обычно для показа списка разделов используется компонент "Структура разделов" (bitrix:catalog.section.list), который показывает именно список разделов с подразделами. Если у вас вместо подразделов показываются элементы раздела, видимо, имела место какая-то доработка.
«Да не могут же они!»
|
|
|
|
|
«Да не могут же они!»
|
|||||||
|
|
|
|
По идее, если разнести элементы по разным инфоблокам, можно добиться прироста производительности. Но:
1) Битрикс не позволяет привязывать один и тот же элемент к нескольким инфоблокам. 2) Выборку элементов из нескольких инфоблоков с фильтрацией по свойствам можно будет сделать только на старых инфоблоках (с хранением свойств в общей таблице), что в целом не комильфо. А что у вас тормозит в текущей реализации?
«Да не могут же они!»
|
|
|
|
|