- 1C-Битрикс: правильно выводим свойства элемента инфоблока
- CIBlockElement
- Методы класса
- Пользовательские комментарии
- Вывести значение свойства через Api битрикс
- GetProperty
- Описание
- Смотрите также
- Параметры вызова
- Возвращаемое значение
- Примеры использования
- Пользовательские комментарии
- Вывести свойство элемента битрикс api
- Как построен курс
- Начальные требования к подготовке
- У нас часто спрашивают, сколько нужно заплатить
- Баллы опыта
- Тесты
- Комментарии к статьям
- Что дальше?
- Для преподавания оффлайн
- Если нет интернета
1C-Битрикс: правильно выводим свойства элемента инфоблока
Инфоблоки — это, наверное, самый используемый модуль. Ни один сайт на этой CMS не обходится без него. Это очень гибкий инструмент, но чтобы воспользоваться всей этой гибкостью, придётся хорошенько изучить API Битрикса. Но официальная документация, как мы знаем, описывает не всё моменты 😉
И так, задача, которая встаёт перед каждым разработчиком, который использует информационные блоки — выбрать свойство(-а) элемента инфоблока и вывести его на экран. Первая половина дела банальна: метода класса CIBlockElement подробно описаны в документации. А вот со второй половиной (особенно, если свойство сложного типа) уже интереснее 🙂
Возьмём свойство типа «HTML\текст». Для этого свойства нельзя просто вывести его значение (ключ «VALUE»), т.к. это — массив, содержащий,«сырое» значений и его тип (HTML или текст). Нет, мы может, конечно, сами отформатировать «сырое» значение в соответствии с его типом, но в голову закрадывается сомнение — неужели это не реализовано в самой CMS? Как же работает с произвольными свойствами компонент bitrix:news?
Собственно, из кода этого самого bitrix:news мы и сможем узнать, как же он так хитро работает 🙂 А ничего хитрого-то, оказывается, и нет! Всего один вызов метода GetDisplayValue класса CIBlockFormatProperties:
$arResult [ «DISPLAY_PROPERTIES» ][ $pid ] =
CIBlockFormatProperties :: GetDisplayValue ( $arResult , $prop , «news_out» );
И всё! Теперь в шаблоне мы можем писать так:
echo $element [ ‘PROPERTY_CODE’ ][ ‘DISPLAY_VALUE’ ];
И любое свойство, тип которого предполагает форматирование значения перед выводом, будет соответствующим образом преобразовано!
Удачного изучение недокументированных функций системы 😉
Источник
CIBlockElement
CIBlockElement — класс для работы с элементами информационных блоков.
Методы класса
Метод | Описание | С версии |
---|---|---|
GetList | Возвращает список элементов по фильтру. | 3.0.8 |
GetByID | Возвращает элемент по его ID. | 3.0.8 |
GetElementGroups | Возвращает группы, которым принадлежит элемент, по его коду. | 3.1.3 |
GetIBlockByID | Метод возвращает инфоблок по ID его элемента. | 3.1.3 |
GetProperty | Получение свойств злемента. | 3.0.8 |
Add | Добавляет новый элемент. | 3.0.8 |
Update | Изменяет элемент. | 3.0.8 |
Delete | Удаляет элемент из информационного блока. | 3.0.5 |
SetElementSection | Привязывает элемент информационного блока к группам. | 3.1.3 |
SetPropertyValues | Сохраняет свойства элемента информационного блока. | 3.0.5 |
SetPropertyValuesEx | Сохраняет значения всех свойств элемента информационного блока. В отличие от SetPropertyValues может не содержать полный набор значений. | 6.0.0 |
SetPropertyValueCode | Изменяет значение свойства элемента. | 3.0.13 |
UpdateSearch | Индексирует указанный элемент в модуле поиска. | 3.0.8 |
CounterInc | Увеличивает счетчик показов элемента. | 3.3.8 |
SubQuery | Позволяет использовать подзапросы. | 10.0.2 |
GetPropertyValues | Метод позволяет получить значения свойств для элементов одного информационного блока, отобранных по фильтру | 14.0.0 |
GetPropertyValuesArray | Получение значений свойств элементов одного инфоблока для компонента. | 14.5.0 |
createMnemonicCode | * Метод создания символьного кода. | 21.300.100 |
generateMnemonicCode | * Метод генерации символьного кода. | 21.300.100 |
isExistsMnemonicCode | * Метод проверки существования символьного кода. | 21.300.100 |
getPublicElementsOrmFilter | * Метод для дополнения фильтра orm на основе массива. | 21.300.100 |
* — Методы работы с символьными кодами. Они работают, только если в настройках инфоблока включена опция Транслитерировать из названия при добавлении элемента для поля Символьный код элемента.
Параметры транслитерации берутся из настроек инфоблока, но могут быть переопределены в момент использования. Исключение — опция Использовать внешний сервис для перевода. В этом случае методы не работают, возвращают null.
Язык, с которого осуществляется транслитерация, выбирается из настроек сайта, к которому привязан инфоблок. Может быть переопределен в момент использования. Если сайты, к которым привязан инфоблок, имеют различные языки, то язык транслитерации ОБЯЗАТЕЛЬНО необходимо указать при вызове методов.
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Источник
Вывести значение свойства через Api битрикс
Не раз приходилось сталкиваться с задачей, когда нужно было вывести свойство инфоблока через 1с-Битрикс API. Рассмотрим такой пример : имеется инфоблок с различными футболками , задача – вывести название футболки и ткань , из которой она сделана.
Инфоблок с футболками имеет (рис.1)
и требуется вывести свойство с символьным кодом = «TKAN»(рис.2).
Вот что у меня получилось:
Главный наш помощник в получении результата функция битрикс API — CIBlockElement::GetList.
$arSort — отвечает за сортировку. Значение ‘NAME’ => ‘ASC’ означает сортировать по имени по возрастанию.
$arSelect — массив возвращаемых полей элемента. В нашем случае доступны:
Этот список можно пополнить другими свойствами.
$arFilter – нужен для фильтрации элементов. $arFilter = Array(‘IBLOCK_ID’=> 5) означает, что из всех элементов хранимых в инфоблоках сайта, мы выбираем только те, которые находятся в инфоблоке с Этот параметр очень удобен и полезен. Например мы могли добавить такие фильтры:
- $arFilter = Array(‘PROPERTY_ TKAN ‘=> ‘шерсть’) – все элементы, у которых параметр ткань = шерсть.
- $arFilter = Array(‘SECTION_ID’ => 55) – все элементы, которые лежат в папке с >Осталось лишь вывести информацию. Для этого используем цикл while с функцией GetNextElement() .И в результате применения функции GetFields() в массиве $arFields будут храниться отобранные по фильтру футболки со свойствами, добавленными в массив $arSelect .
Источник
GetProperty
Описание
Метод возвращает значения свойства для элемента element_id. Метод статический.
Смотрите также
Параметры вызова
Параметр | Описание |
---|---|
iblock_id | Код инфоблока. |
element_id | Код элемента. |
arOrder | Массив вида Array(by1=>order1[, by2=>order2 [, ..]]), где by — поле для сортировки, может принимать значения:
order — порядок сортировки, может принимать значения:
Необязательный. По умолчанию равен Array(«sort»=>»asc») |
- NAME — название свойства (можно использовать маску %|_),
- ID — код свойства,
- ACTIVE — активность (Y|N),
- SEARCHABLE — участвует в поиске или нет (Y|N),
- PROPERTY_TYPE — тип свойства,
- CODE — символьный код свойства,
- EMPTY — пустота свойства (Y|N).
Не обязательный параметр, по умолчанию равен array().
Возвращаемое значение
Возвращается объект CDBResult, содержащий поля свойств и поля со значениями:
PROPERTY_VALUE_ID — код значения свойства,
VALUE — значение свойства,
DESCRIPTION — описание значения свойства,
VALUE_ENUM — текстовое значение элемента списочного свойства,
VALUE_XML_ID — внешний код значения свойства типа «список».
Примеры использования
Пример 2 (получить значения для множественного свойства):
Пример 3 (получить значения для немножественного свойства):
Если значений у свойства нет и в фильтр не передается «EMPTY»=>»N», то метод вернет массив с с пустым ключом VALUE:
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.
Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
Если нужно получить значение типа список
CIBlockElement::GetProperty() возвращает результат в случае, если значения нет
отдает массив с пустым VALUE
XXX — множественное свойства типа строка
используем Инфоблоки+
Нужно также учитывать, что если получаем значения для множественного св-ва, то можно получать так:
Если получаем значения для не множественного св-ва, то можно так:
Источник
Вывести свойство элемента битрикс api
Цитатник веб-разработчиков В тексте курса вы встретите цитаты, высказанные в разное время разработчиками системы и разработчиками проектов на базе Bitrix Framework. Надеемся, что такие неформальные замечания внесут некоторое разнообразие в процесс изучения. Заодно опытные специалисты поделятся и своим опытом.
Имена авторов цитат даются в том написании, в каком авторы зарегистрировали себя на сайте «1С-Битрикс». .
Евгений Смолин: Сам кувыркался с непонятками (пока курсы учебные не прочитал и руками не попробовал то, что там написано). Битрикс из тех систем, где изучение «методом тыка» не очень эффективно без предварительного изучения учебных курсов. Уважаемые новички, потратьте немного своего драгоценного времени, пройдите пару-тройку учебных курсов и масса вопросов просто испарится — там есть ответы на множество вопросов.
Курс для разработчиков — продолжение линейки учебных курсов по Bitrix Framework. Получение сертификата по курсу рекомендуется после успешной сдачи тестов по всей линейке курсов, так как без понятия о работе Контент-менеджера и Администратора создание успешных сайтов будет затруднено.
Чтобы научиться программировать в Bitrix Framework, нет необходимости изучать всю линейку курсов. Но есть моменты, которые необходимо знать разработчикам о системе, они раскрыты в начальных курсах:
- Интерфейс программы — в главе Элементы управления курса Контент-менеджер.
- Компоненты 2.0 (начальные сведения) в главе Компоненты 2.0 (начальные сведения) курса Контент-менеджер.
- Информационные блоки — в главе Информационные блоки (начальные сведения) курса Контент-менеджер.
- Управление доступом к файлам, элементам контента, модулям и другие права доступа в главе Управление доступом курса Администратор. Базовый.
- Работа с инструментами системы — в главе Работа с инструментами курса Администратор. Базовый.
- Модуль Поиск — в главе Поиск курса Администратор. Базовый.
- Вся информация по администрированию модулей размещена в курсах:
- Администрирование. Модули — модули «1С-Битрикс: Управление сайтом»
- Администратор. Бизнес — модули «1С-Битрикс: Управление сайтом», связанные с коммерческой деятельностью в Интернете.
- Администратор «1С-Битрикс: Корпоративный портал» — модули «1С-Битрикс: Корпоративный портал»
Как построен курс
Общепринятая градация квалификации разработчиков в рамках курса обозначает что:
- Junior сможет создавать простые сайты работая со штатными компонентами и модифицируя их шаблоны.
- Middle разработчик может работать с API Bitrix Framework.
- Senior умеет работать над производительностью и безопасностью сайтов, создавать свои модули и компоненты.
Начальные требования к подготовке
Для успешного изучения курса и овладения мастерством разработки сайтов на Bitrix Framework необходимо владеть (хотя бы на начальном уровне):
- основами PHP, баз данных;
- основами HTML, CSS.
У нас часто спрашивают, сколько нужно заплатить
Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов — ничего из этого оплачивать не нужно.
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
В конце каждого урока есть кнопка . При клике на неё в Вашу итоговую таблицу опыта добавляется то количество баллов, которое указано в прочитанном После нажатия кнопки Прочитано! появится
окно подтверждения:уроке.
Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат — это если общее число набранных Вами баллов отличается от максимального на 1-2%.
Тесты
После изучения курса вам будет предложено пройти тесты на сертификацию. При успешной сдаче последовательности тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.
Комментарии к статьям
На каждой странице курса авторизованный на сайте посетитель может дать комментарий к содержимому страницы. Комментарий — не форум, там не ведётся обсуждений или разъяснений. Это инструмент для сообщений нам об ошибках, неточностях. Для отправки комментария воспользуйтесь расположенной в правом нижнем углу окна браузера кнопкой:
Что дальше?
Одновременно с изучением курса Разработчик Bitrix Framework вам придётся обращаться к информации о других технологиях Bitrix Framework. Эта информация размещена в следующих курсах:
- Технология Композитный сайт — ускорение работы сайта.
- Разработка и эксплуатация высоконагруженных проектов — для тех кто делает «тяжёлые» проекты.
- Бизнес-процессы — настройка и создание бизнес-процессов.
- Бот платформа Битрикс24 — приложения, основанных на чатах в веб-мессенджере.
- Маркетплейс Битрикс24 — приложения для коробочной и облачной версий Битрикс24.
- Маркетплейс Bitrix Framework — расширение функционала проектов на основе Bitrix Framework с помощью сторонних модулей и решений.
- Многосайтовость — система многосайтовости и принципы работы с многосайтовой конфигурацией.
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 5 дней (40 академических часов).
Если нет интернета
Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome
iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса.
Источник