Бітрікс як дізнатися список розділів і елементів, forwww - блог для розробників, 1с-бітрікс і

Код ми написали, тепер давайте подивимося що ми робимо:

  • підключаємо модуль iblock тому без нього наш код може не працювати;
  • задаємо змінну, яка дорівнює ID необхідного інформаційного блоку (в моєму випадку це 14);
  • в змінну записуємо CIBlockElement :: GetList, інакше не зможемо з ним працювати;
  • в CIBlockElement :: GetList є масиви з даними:
    Array ( «ID» => «ASC») - масив для сортування, в нашому випадку це ID по зростанню,
    Array ( «IBLOCK_ID» => $ iblock_id) - масив для фільтрації - ми вибрали тільки по ID Інфоблоки,
    false, false - тут можна задати масиви для угруповання елементів і вибрати параметри посторінковою навігації (як правило, вони не потрібні, ставимо кожному false),
    Array ( 'ID', 'NAME', 'DETAIL_PAGE_URL') - останній, але не менш важливий масив, який поверне вибрані поля. У нашому випадку він поверне ID, Ім'я елемента, повний шлях до детального елементу (його url).
  • виводимо по черзі всі наші елементи за допомогою циклу.

urldecode - я використовував для правильного відображення кириличних урлов (так, їх виявляється хтось ще використовує 🙂). $ Ar_fields [ 'DETAIL_PAGE_URL'] - виведе вам в кожному рядку посилання на елемент, при бажанні, ви можете замінити DETAIL_PAGE_URL на ID або NAME і т.д. в залежності від того, яка перед вами стоїть завдання.

Важливо знати! Якщо ви не вибираєте поля для останнього масиву (який зазвичай називають arSelect), ви ризикуєте пристойно завантажити ваш сервер, адже він буде тягнути для кожного елемента, значення всіх його полів. Уявіть скільки це запитів до БД.

Як дізнатися значення властивостей Інфоблоки у Бітрікс

Ну добре, ми виводимо ім'я, id і посилання - здавалося б, навіщо весь цей цирк? А ось тепер розглянемо випадок, коли ми з допомогою GetList можемо дізнатися властивості Інфоблоки, конкретного елемента. Замінюємо наш arSelect, він же масив з вибором полів на
Array ( 'ID', 'NAME', 'DETAIL_PAGE_URL', 'PROREPTY_TITLE')
де, TITLE - це символьний код вашого властивості (а приписка PROREPTY_ служить якраз для того щоб це і вказати).

Відобразити на екран властивість Бітрікс можна кількома способами, в залежності від його типу - рядок це або список. Це може бути як

Якщо ви помітили, у нас тепер масив з вибором по порядку четвертий а не п'ятий і додався параметр »ACTIVE» => «Y». який виводить тільки активні «розділи» (це працює і для CIBlockElement, просто в даному скрипті нашими елеменов є розділи Інфоблоки). Принцип роботи з CIBlockSection :: GetList майже такий же, як і з CIBlockElement. В даному скрипті ми виводимо символьний код розділів, попередньо перетворивши в читану кирилицю.

Надаю послуги по створенню проектів на CMS 1С-Бітрікс - сайти, шаблони і компоненти з нуля.

Популярні статті:

Підкажіть, а як вивести список елементів одного з розділів Інфоблоки (наприклад по його ID)
Іншими словами: є інфоблок з ID = 100, всередині якого створені розділи зі своїми ID. Як витягнути останній елемент певного розділу Інфоблоки (по ID Інфоблоки і ID розділу)?

Щось в такому стилі:
$ My_elements = CIBlockElement :: GetList (
Array ( «ID» => «DESC»), // сортуємо по айди спаданням
Array ( «IBLOCK_ID» => 100, «ACTIVE» => «Y», «SECTION_ID» => __АЙДІ-СЕКЦІІ__),
false,
Array ( «nTopCount» => 1), // здається так обмежується кількість, якщо не спрацює замініть «nTopCount» на «nPageSize»
Array ( 'ID', 'NAME', 'DETAIL_PAGE_URL')
);
$ Ar_fields = $ my_elements-> GetNext ();

print_r ($ ar_fields); // властивості елемента

Спасибі, вже реалізував, параметр SECTION_ID для розділу забув. API help допоміг. Ще раз дякую.

Добрий день. А як вивести на сторінку певний елемент Інфоблоки, якщо ми знаємо ID розділу, в якому він знаходиться і ID шуканого елемента? Також, цікавить, як вивести певний розділ Інфоблоки, знаючи його ID. Дякуємо