Pugofka Logo
Технологии 2 мин 2014-07-18

Работа со списком элементов

Работа со списком элементов

Иногда нужно сделать не типовое решение.

Мы не исключение и нам часто приходится решать не стандартные задачи, которые мы стараемся реализовать не только эффективно, но и элегантно.

Одна из недавних задач звучала следующим образом: "на странице элемента, показать все элементы, кроме текущего".
Эта задача относилась к проекту на системе управления контентом "1С-Битрикс".

Теперь расскажем вам о самом решении.

Предположим что нужные инфоблоки уже созданы, добавлен и настроен комплексный компонент bitrix:news.
Теперь нужно добавить вызов компонента, который отвечает для вывод списка элементов, bitrix:news.list в файле с выводом детального элемента detail.php.

Таким легким движением добавили вывод список элементов, рядом с детальной информацией. Высока вероятность, что в списке вы встретите упоминание текущего элемента. Мы решили, что это не правильно и решили устранить это.

Благо, решается это достаточно просто - при помощи использования фильтров - стандартных элементов системы 1С-Битрикс.

Для этого перед кодом вызова компонента нужно вставить следующий код:
$GLOBALS['arProj'] = array('!ID'=>$ElementID);

А в массив вызова компонента bitrix:news.list добавить строку:
"FILTER_NAME" => "arProj"

Пример подключения компонента вы можете увидеть ниже на изображении:
Пример подключения фильтра в компонент 1С-Битрикс

И все! Эта задача выполнена.

Область применения такого решения очень широка.

Например:

  1. У вас есть портфолио работ и каждой отдельной работе вы решили посвятить отдельную страницу. Вы хотите, чтобы пользователи видели сразу же и ваши другие работы?  
  2. У вас есть лента новостей. Даже на странице новости, вы хотите показывать список новостей?

Обратите внимание!

Визуальный редактор 1С-Битрикс вырезает строку"FILTER_NAME" => "arProj", поэтому если вы изменили настройки компонента через визуальный редактор то, скорее всего, вам потребуется заново вставить эту строку в код вызова компонента на странице.

О вкусном напоследок...

Очень интересный момент, о том как получить идентификатор текущего элемента  из вызова компонента, скоро напишет Павел, один из наших разработчиков.

Похожая задача у вас?

Статья описывает общий случай. Опишите свой — разберём на ваших вводных: что применимо, что нет и с чего дешевле начать.

Ещё по теме

Другие материалы из архива — о разработке, процессах и технологиях.