Parus16.ru

Парус №16
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Bitrix Getlist

Bitrix Getlist

Помимо готовых шаблонов и сниппетов для «1С-Битрикс» его создатели предоставляют широчайший простор для самостоятельного программирования. Это позволяет расширять функционал сайтов, оперативно вносить в существующий код необходимые изменения и решать узкоспециализированные задачи.

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

Bitrix Getlist

Для этого используется метод GetList который, помимо прочего, используется со следующими классами:

  • CIBlockElement;
  • CIBlockSection.

Обратите внимание! С их помощью можно получить и вывести требуемую информацию.

GetList — что это за метод

В Bitrix GetList является методом, используемым в классе информационного блока. Его применяют для обращения к базе данных с целью получить различную информацию о блоке. Информация может содержать сведенья об элементах, разделах и других параметрах информационного блока.

В «Битрикс» GetList используется очень широко и его можно встретить в различных классах и модулях при разработке. Более подробная информация о всех возможностях использования данного метода изложена в технической документации для разработчиков на официальном сайте платформы.

Bitrix Getlist

Bitrix Ciblocksection Getlist

Этот класс предназначен для различных операций с группами или разделами информационного блока. С его помощью можно получить список разделов информационного блока. После получения списка благодаря Bitrix Section Getlist его можно отсортировать, используя Bitrix Getlist Filter.

Bitrix Getlist

Bitrix Ciblockelement Getlist

Класс «Битрикс» Ciblockelement Getlist предназначен для различных операций с одиночными элементами, входящими в информационный блок. С его помощью также можно получить список элементов и их количество для дальнейшей обработки в коде.

В качестве примера вывод названий элементов, входящих в условный информационный блок — «Новости». Первое, что необходимо узнать перед началом программирования — это ID интересующего информационного блока. Наиболее простой способ сделать это — обратиться к URL в адресной строке. Цифра, необходимая для использования в коде, в адресной строке идет сразу после — «IBLOCK_ID=», условно она будет равняться 1.

Чтобы получить и вывести названия элементов, входящих в информационный блок, нужно изменить интересующую страницу в режиме PHP-кодировки. На странице для Getlist Element Bitrix прописывается следующий код:

Обратите внимание! В приведенном коде указан лишь один параметр, равный единице и относящийся к «IBLOCK_ID». Если убрать параметр [«NAME»], оставив только $ob, то while выведет намного больше значений исследуемого элемента.

Вывод значений свойства информационного блока

Поскольку информационные блоки в «Битрикс» являются наиболее используемыми модулями, то необходимость вывода значения через Bitrix Iblock становится довольно распространенной задачей. Понадобиться это может в различных ситуациях: от реализации слайдера, до создания различных справочников.

Bitrix Getlist

Стандартный функционал, предоставленный в консоли управления, порой не может справиться с поставленной задачей. Это может быть связано с необходимостью вывода нестандартных свойств информационного блока. В таком случае приходит на помощь самостоятельное программирование и «Битрикс» Element Getlist.

Если на сайте создан информационный блок, в котором предусмотрено нестандартное свойство с заданным идентификатором, то его значение выводится при помощи дополнительного кода. В качестве примера подробное описание новости. Для вывода значения необходимого свойства Bitrix Get Element, код которого равен FEATURE, в шаблоне новости прописывается следующий код:

Для вывода имени требуемого свойства код пишется следующий:

Чтобы выполнить проверку и избежать вывода лишнего кода при незаданном значении элемента, вводится следующая конструкция:

Бывает, что у информационного блока задается множество различных свойств. Если стоит задача выводить значения этих свойств в различных местах, то стандартные методы «Битрикс» не помогут. По умолчанию эта информация выводится последовательно в цикле, в результате страдает дизайн сайта. Для решения этой проблемы используется аналогия кода, приведенного выше:

Читайте так же:
Варианты электронной почты выбрать

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

Получение списка разделов

Довольно часто на сайте возникает задача получения и вывода списка разделов. В качестве примера можно использовать стандартный компонент «Битрикс» «news.list».

Bitrix Getlist

Чтобы решить поставленную задачу, нужно использовать следующий код:

Конечно, для реализации в программном коде описанных методов нужны определенные знания в программировании. Однако при наличии таковых или при обращении к соответствующему специалисту «Битрикс» открывает поистине неограниченные возможности в создании сайтов.

Битрикс элемент не найден

Для начала, установите модуль: Установить модуль

После установки модуля необходимо согласиться с отправкой и обработкой данных

Далее надо произвести первичную настройку модуля.

1. Выбрать вкладку с нужным сайтом

3. Убедиться, что для инфоблоков указаны все свойства, которые необходимо индексировать, а так же нет лишних.
Если видите лишние свойства или каких-то свойств не хватает, нажмите «настройки» возле названия инфоблока и перенастройте индексацию свойств.
Для свойств которые должны попадать в поисковый индекс должна стоять галочка «Значения свойства участвуют в поиске», либо «Показывать в умном фильтре» и выбраны соответствующие галочки в пункте 2.

4. Нажать «Применить»

Далее необходимо произвести переиндексацию.
Для этого переходим по ссылке «переиндексация поиска» вверху или внизу страницы настроек модуля.

Необходимо выбрать нужный сайт и модуль «Информационные блоки», если индексировать необходимо только один сайт.
Так же можно убрать галочку «Переиндексировать только измененные» и произвести полную переиндексацию всех сайтов и модулей.

Всё. Теперь данные отправились в индекс и спустя минуту будут доступны для поиска.

Пока данные обрабатываются в индексе, необходимо заменить вызов компонент bitrix на новые.

Иначе настраивайте по следующему алгоритму:

1. заменить везде вызов bitrix:search.title на itd:search.title , скопировав кастомизированные шаблоны от bitrix:search.title в пространство itd:search.title шаблона вашего сайта

2. заменить по аналогии везде вызов bitrix:search.page на на itd:search.page

3. если у вас используется компонент search.page в каталоге (catalog.search), то необходимо доработать шаблон catalog.search, добавив перед подключением компонента bitrix:search.page конструкцию вида
А так же обернуть подключение компонента search.page в проверку

Что будет обозначать, что если сервис поиска не вернет результатов по какой-то причине, то подключится стандартный поиск битрикса.

Для вывода элементов в порядке релевантности (наиболее подходящие в начале), в компонент search.page или catalog.section, смотря в какой передаете $arElements, необходимо указать сортировку подробнее про этот функционал сортировки описан в документации битрикс

Теперь осталось вернуться на страницу настроек модуля и обновить её.
Внизу страницы вы должны увидеть информацию о последних добавленных в индекс элементах

Если элементы начали появляться в блоке «10 последний элементов из поискового индекса», то теперь можно пойти на сайт и попробовать поискать.

Универсальные списки в Битрикс24

Всё о применении универсальных списков в Битрикс24. Подробно на примерах разбираем механизм и тактику работы со списками.

Вот вы стали счастливым обладателем самого старшего тарифа облачного Битрикс24 (или коробки). Всё в нём хорошо, но не всё понятно. Так, например, в разделе «Сотрудники» вы нашли раздел «Списки». А в нём — ничего нет кроме кнопки «Создать новый». Но желания нажать на неё не появляется, потому что не понятно, зачем это делать. Давайте разберёмся с этим вопросом. Не зря же модуль «Универсальные списки» так ценится интеграторами Битрикс24.

Читайте так же:
Бесплатные видео заставки для ютуб

В первую очередь модуль «Универсальные списки» нужен для хранения в себе информации. Какой — решать только вам. Примерно, как с Excel, только лучше. В момент создания списка, вы сами решаете какие данные и каких типов вы будете в нём хранить. По типам ограничений почти нет:

Привязка к другим спискам

Привязка к элементам CRM

Привязка к сотруднику

Привязка к Яндекс.Карте

По любому из полей вы сможете отфильтровать наполненный данными список и почти по всём — отсортировать.

Безусловным преимуществом универсальных списков является и то, что они позволяют настраивать права доступа к данным. Права могут быть настроены с точностью до элемента. Не получится, как с общей таблицей в excel: все всё видят и редактируют.

Так как списки являются частью инфраструктуры Битрикс24, то не использовать их в связке с другими элементами системы было бы преступлением. Если вы предусмотрите привязку элементов списка к карточкам CRM (в полях списка создадите поле с типом «Привязка к элементам CRM»), то в элементах CRM у вас появится вкладка с соответствующим списку названием. Это очень удобно, если нужно организовать связанное с элементами CRM хранилище каких-либо данных.

Ну и конечно, запуск бизнес-процессов. Универсальные списки позволяют настраивать алгоритмы автоматизированных операций с элементами списков. А это значит, что сценариев их использования становится намного больше.

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

Быстрые ответы для открытых линий

Если вы являетесь активным пользователем открытых линий Битрикс24 и часто консультируете с внешними пользователями через чаты, то представляете, как много времени и фантазии может сэкономить список с заготовленными быстрыми ответами на часто задаваемые вопросы.

В открытых линиях Битрикс24 хранение таких фраз реализовано как раз в универсальных списках.

По кнопке «Создать» у вас создаётся список со всеми необходимыми полями, который вы просто заполняете различными вариантами ответов клиентам, группируя их по категориям. В итоге в чатах получаете прекрасную возможность не писать ответ каждый раз заново.

Хранение информации, разделённое по правам

Права доступа в списках настраиваются очень гибко. Допустим, у вас есть задача создать единое хранилище данных доступа ко всем сервисам компании (социальные сети, сервисы рассылок, программы учёта и так далее). Но хранить информацию в этом списке нужно так, чтобы маркетолог имел доступ к одним записям, а бухгалтер – к другим. А ещё они самостоятельно могли их вносить, если появляется что-то новое.

Реализуется это следующим образом: при добавлении списка или его редактировании переходите на вкладку «Доступ» и устанавливаете следующую конфигурацию.

Добавление — это значит, что сотрудник сможет добавить элементы.

Изменение у роли Автор значит, что то, что добавил – сможет изменить.

Далее в настройках каждого конкретного элемента списка проставляете, какие пользователи или отделы могут его читать. Так же, на вкладке «Доступ».

Записи, чтобы не забыть

Не редко появляется необходимость иметь возможность что-то быстро записать, чтобы не забыть. Списки помогут и в этом.

Так, например, у нас есть список «Бэклог», привязанный к контрагентам. Он позволяет записывать пожелания клиентов к функционалу системы, которые не срочные или просто не стоят в приоритете, но которые хотелось бы когда-нибудь выполнить. В момент, когда такое пожелание возникает, мы открываем карточку контрагента в CRM и на отдельной вкладке «Бэклог» записываем пожелания. Это занимает мало времени, а для собственного удобства мы добавили ещё «Статус» пожелания — отмечаем что реализовали, а что ещё ждёт.

Читайте так же:
Видеокамера sony hdr cx405 обзор

Учёт связанной с CRM информации

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

Совсем свежий из реализованных примеров: информация об учащихся, прошедших обучение по сделке. Компания занимается сертификацией. На курсы к ним отправляют группы сотрудников. В контактах они не нужны, но учёт вести необходимо. Создан список, в котором указываются базовые данные об учащемся, а также результаты его сертификации. Элемент имеет одно из полей – привязка к сделкам. В результате, в сделках указывается, перечень всех учащихся по сделке, что очень удобно для анализа.

Хранение информации об объектах, требующих регулярности

Представьте, что у вас сотрудники получают сертификаты, а они имеют свой срок действия. Или клиенты приобретают товар (страховые полиса), которые требуют регулярного продления. В этом случае, такую информацию нужно сохранить. Да не просто так, а чтобы за некоторое время до превращения сертификата/полиса в тыкву, система напомнила, что нужно обратить на него внимание.

Такой функционал тоже реализуется с использованием универсальных списков. Вам нужно описать объект, установить срок его действия и реализовать простой бизнес-процесс напоминания

Бизнес-процесс в своей самой простой реализации может иметь следующий вид:

  1. Подождать, пока не наступит день Х минус Y дней (заранее напоминаем же)
  2. Поставить задачу

Списки для учёта и запуска процессов обработки документов

Из двух последних примеров просто напрашивается следующий пример. Если нужно помимо учёта каких-либо данных, ещё и выполнить по ним заданную последовательность действий, то тут опять помогают бизнес-процессы. Входящие и исходящие письма, договоры, рекламации великолепно перекладываются на учёт в универсальных списках, связанных с элементами CRM, и дают множество дополнительных возможностей.

1. Регистрация документа: зашёл в карточку клиента, открыл нужную вкладку и добавил документ

2. Автоматические действия: заполнил поля, сохранил, запустился процесс, который по данным из полей понял, что нужно делать и направил задачи, запросы и уведомления всем ролям. А потом ещё подготовил решение и отправил его клиенту

Внесение информации о связанных объектах и использование её при работе с процессами

Ещё более сложный сценарии – это сценарии организации взаимозависимых элементов CRM и списков. И по элементам CRM, и по элементам списков мы можем запускать бизнес-процессы. А в конструкторе процессов есть блок «Запуск бизнес-процесса». Тем самым, процесс по одному элементу может запустить процесс по-другому, передав ему необходимые данные.

Если конкретнее, то представьте, что у вас в список загружен перечень объектов недвижимости. В сделках вы эти объекты продаёте. Из сделки у вас должна быть возможность выбрать, какой объект клиент выбрал. Он должен быть помечен, как забронированный, а в сделку передаться ключевые данные из объекта для формирования документов. Это всё реализуется связанными процессами. Какие-то запускаются автоматически на добавление/изменение, а какие-то тем самым действием «Запуск бизнес-процесса». В итоге мы имеем целостную систему по работе с объектами, а также возможность удобного генерирования документов по сделке.

И ещё несколько простых и бытовых примеров использования списков.

Читайте так же:
База данных регистратуры поликлиники

Использование списков, как дополнительных сквозных справочников в процессах

Этот пример не связан с бизнес-процессами, но он связан с хранением и редактированием данных. В CRM карточке сотрудника и элементах списков есть поле с типом «Привязка к элементам» и «Привязка к разделам», речь идёт именно про привязку к элементам и разделам списков.

Удобство заключается в том, что если вам нужно организовать поле с выбором варианта, то чаще всего выбор упадёт на поле с типом «Список», в котором вы просто эти варианты перечислите. А что, если таких полей в разных элементах много, а список значений – один и тот же? Правильно: варианты значений нужно хранить в универсальном списке, а поле привязать к нему. Если что-то изменится, редактировать нужно будет в одном месте, а не во всех. Да и при работе с автоматизацией это намного удобнее, потому что идентификаторы значений одни и те же, а значит их проще анализировать.

«Привязка к элементам» отличается от «Привязки к разделам» тем, к какой сущности списка привязываетесь. На элементах хорошо строятся «плоские» списки, а на «разделах» — древовидные.

Нумераторы и роли в списках

Благодаря тому, что бизнес-процессы позволяют не только работать с объектом, на основании которого они запущены, но и получать информацию о других элементах, мы можем организовывать на универсальных списках хранилища констант и переменных, глобальных для всех процессов. От глобальных констант такая конструкция выгодно отличается тем, что глобальные константы может редактировать только администратор, а списки – тот, кому дали права.

Так, например, можно создать список с ролями сотрудников. Каждый элемент – роль. В роли указано её название и привязанный сотрудник. В процессе, когда нам нужно получить сотрудника для роли, мы выбираем данные по известному нам элементу списка действием «Чтение элемента списка».

Или другой пример – нумераторы. Создаётся список с нумераторами для различных типов документов. Его задача – только лишь хранить последнее значение номера. Когда нужно присвоить номер документу, запускается процесс, который получает данные из этого элемента, добавляет единичку и сохраняет новое значение в элемент списка действием «Изменение элемента списка». Полученный же номер обогащается по различным правилам данными используется, например, при генерации документа.

Ну и напоследок…

Каждая роль в Битрикс24 работает со своими инструментами. Для менеджеров это, конечно же, CRM. А вот для логистов или водителей-экспедиторов это могут быть и списки, в которые по заданным правилам из CRM подгружается информация о том, какие товары к какому дню нужно подготовить к отгрузке, а какие заказы по какому адресу и когда – доставить. Мы, опять же, используем в этом случае всё те же приёмы связи между собой списков и CRM, автоматизацию на процессах. В итоге получаем удобную передачу информации между отделами и формирование всех необходимых заявок и задач, чтобы никто ничего не забыл.

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

Как вывести свойство "привязка к элементу"

Платформа 1С-Битрикс предназначена для разработки проектов любой сложности, от персональных визиток до крупных порталов недвижимости, автомобильных досок объявлений, городских сайтов и т.д. В случае разработки сложных проектов разработчики используют большое количество инфоблоков для структурирования добавляемой информации, а что бы они были связаны между собой — используют свойства типа «привязка к элементу», «привязка в разделу» и т.д. В дальнейшем эти свойства нужно использовать в своих целях, но к сожалению стандартные компоненты битрикса, к которым мы так долго привыкали, не всегда помогают решать проблему. Тогда нам на помощь приходит API битрикса.

Читайте так же:
Видео дарк соулс 3

Честно говоря, для своих клиентов мы почти полностью отказались от стандартных компонентов битрикса, вроде компонента каталог, элемент каталога детально и т.д. в пользу API Битрикс. Чаще всего использование апи помогает избежать многих проблем, одна из которых — вывод названия свойства «привязка к элементу» без лишних ссылок, ID и т.д. Для этого нам поможет функция: CIBlockElement::GetList

Небольшая справка: Функция CIBlockElement::GetList помогает вывести необходимые свойства и значения из любого инфоблока по заданному фильтру, либо без него.

Предлагаю разобрать небольшой пример, как получить те или иные свойства нужного инфоблока при помощи GetList!

1. Переменная $arSelect

В переменной $arSelect нам нужно объявить все значения, которые мы хотим в дальнейшем получить от инфоблока, полный их список можно посмотреть на сайте битрикса (ищите параметр arOrder в левой колонке таблицы). К примеру нам нужно получить парметры: «ID», «NAME», «CREATED_DATE». Вы скажете все это понятно, ну а если нужно получить свойство при помощи GetList? Тогда указываем ID свойства (его можно посмотреть в редактировании инфоблока, вкладка «свойства») и приписываем к нему «PROPERTY_». Пусть нас будет интересовать инфоблок (ID инфоблока можно узнать в списке всех инфоблоков) и свойства ID 2 и 5. Теперь к коду:

Думаю, проблем разобрать, что мы получили в строке выше не составит труда?

2. Переменная $arFilter

Пришло время фильтра, так как GetList надо объяснить что и при каких условиях нужно выводить. Для этого мы укажем «IBLOCK_ID» (id инфоблока), «ACTIVE» (элементы инфоблока активны). В своих проектах вы можете воспользоваться более глобальным фильтром, точнее указать больше условий, а для примера хватит и этих. Пишем код:

Благодаря этому элементу мы выведем все активные элементы инфоблока 5.

3. Выборка свойства при помощи GetList

Что дальше? Дальше мы включим GetList, который производет выборку.

Если вы вставить получившийся код на страницу, то получите «портянку» из всех элементов и их свойств. Что бы получить конкретное значение свойства привязанного элемента (в разных случаях это может потребоваться) — в условии print_r ($arFields); нужно указать к примеру print_r ($arFields[«NAME»]); или в случае с свойством инфоблоком print_r ($arFields[«PROPERTY_2_VALUE»]); (где 2, это ID свойства)

В итоге готовый код выглядит следующим образом:

Очень надеюсь, что благодаря нашей шпаргалке разработчикам 1С Битрикс станет чуточку проще разрабатывать свои проекты, в том числе выводить свойство привязка к элементу!

Если вы или ваши специалисты столкнулись с проблемами вывода необходимой информации из инфоблоков — вы всегда можете обратиться к нам. Наша команда имеет большой опыт работы с 1С-Битрикс и сможет решить большинство задач. Так же вы можете заказать поддержку, оптимизацию и SEO продвижение вашего сайта не зависимо от территориального расположения и CMS!

Поделитесь с друзьями данной статьей:

02.11.2015 BootStrap и 1С-Битрикс
Компания Jump-Studio приняла решение об использовании на новых сайтах клиентов фрэймворка BootStrap. Хотите спросить почему? Мы ответим!

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector