Битрикс шпаргалка

1. Получить ID текущего раздела (например, в шаблоне компонента каталога)
print_r($arResult["VARIABLES"]["SECTION_ID"]);
2. Проверка авторизован ли как Администратор
<?php global $USER; if ($USER->IsAdmin()) echo "<pre>"; print_r($arResult["VARIABLES"]["SECTION_ID"]); echo "</pre>";
3. Выводить список разделов каталога, отобранных по пользовательским полям. Не забыть array("UF_*"). Без компонента, например, catalog.section.list
<?php //global $USER; //if ($USER->IsAdmin()) print_r($arResult["VARIABLES"]["SECTION_ID"]); //$SECTION_IDs = array(24,23); $rsSections = CIBlockSection::GetList( array("SORT" => "ASC"), array("IBLOCK_ID" => 4, "ID" => $SECTION_IDs, "UF_QUICKLINKS" => 1, "UF_CONNECTTOSEC" => $arResult["VARIABLES"]["SECTION_ID"]), false, array("UF_*") );?> <ul class="quicklinks"> <? while ($arSections = $rsSections->fetch()){?> <li><a href="/<?= $arSections['CODE'] ?>"> <?= $arSections['NAME'] ?> </a></li> <?}?> </ul>
4. Фильтр у catalog.section.list (т.к. его нет по умолчанию). Выводим список разделов с помощью компонента catalog.section.list, в отличие от приведённого выше способа с CIBlockSection::GetList.
Пока пользуйтесь result_modifier.php, пример: выводить разделы на главной (перед этим создаете пользовательское свойство раздела и выбираете его в настройках компонента catalog.section.list):
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); foreach ($arResult['SECTIONS'] as $key => $arSection) { if ($arSection["UF_QUICKLINKS"]) unset($arResult['SECTIONS'][$key]); }
5. Вывести дополнительное поле
$ar_result=CIBlockSection::GetList(Array("SORT"=>"ASC"), Array("IBLOCK_ID"=>$arParams['IBLOCK_ID'], "ID"=>$arResult['SECTION']['ID']),false, Array("UF_H1")); if($res=$ar_result->GetNext()){echo $res["UF_H1"];}
6. Получение SEO тегов элемента инфоблока
Для получения тегов элемента инфоблока:
//Следующий код выведет нам набор СЕО тегов элемента с указанным ID $ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($arResult['IBLOCK_ID'], $arResult['ID']); $arResult['IPROPERTY_VALUES'] = $ipropValues->getValues(); var_dump($arResult['IPROPERTY_VALUES']);
Для получения тегов раздела инфоблока:
$ipropValues = new \Bitrix\Iblock\InheritedProperty\SectionValues($arResult['IBLOCK_ID'], $arResult['IBLOCK_SECTION_ID']); $arResult['IPROPERTY_VALUES'] = $ipropValues->getValues(); var_dump($arResult['IPROPERTY_VALUES']);
Для получения тегов инфоблока:
$ipropValues = new \Bitrix\Iblock\InheritedProperty\IblockValues($arResult['IBLOCK_ID']); $arResult['IPROPERTY_VALUES'] = $ipropValues->getValues(); var_dump($arResult['IPROPERTY_VALUES']);
Обратите внимание, что во всех случаях задается ID инфоблока ($arResult['IBLOCK_ID']), а для выборки тегов раздела инфоблока или элемента инфоблока дополнительно указать ID раздела ($arResult['IBLOCK_SECTION_ID']) или ID элемента ( $arResult['ID']), соответственно. Отмечу, что код написан с использованием идеологии разработки D7, что привнесло,в том числе, единообразие в аналогичные методы для разных сущностей. (http://www.codeblog.pro/bitrix1c/poluchenie-seo-tegov-elementa-infobloka/)
7. Скрыть раздел от показа в меню (компонент catalog.section.list)
<ul class="<? echo $arCurView['LIST']; ?>"> <? switch ($arParams['VIEW_MODE']) { case 'LINE': foreach ($arResult['SECTIONS'] as &$arSection) { if ($arSection['ID'] != 434) { /* скрываем раздел Готовая продукция из левого меню*/ ...
8. В компоненте каталога 'HIDE_ICONS' => 'N', чтобы показывать внутренние компоненты компонента на фронтенде.
<? $APPLICATION->IncludeComponent( "bitrix:catalog.section.list", "", array( "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "COUNT_ELEMENTS" => $arParams["SECTION_COUNT_ELEMENTS"], "TOP_DEPTH" => $arParams["SECTION_TOP_DEPTH"], "SECTION_URL" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["section"], "VIEW_MODE" => $arParams["SECTIONS_VIEW_MODE"], "SHOW_PARENT_NAME" => $arParams["SECTIONS_SHOW_PARENT_NAME"], "HIDE_SECTION_NAME" => (isset($arParams["SECTIONS_HIDE_SECTION_NAME"]) ? $arParams["SECTIONS_HIDE_SECTION_NAME"] : "N"), "ADD_SECTIONS_CHAIN" => (isset($arParams["ADD_SECTIONS_CHAIN"]) ? $arParams["ADD_SECTIONS_CHAIN"] : '') ), $component, array("HIDE_ICONS" => "N") ); ?>

almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- Как добавить на 1С Битрикс ссылку canonical? (15.03.2019)
- Битрикс шпаргалка (16.04.2019) ← вы тут
- Добавляем дополнительные поля в разделе. Пользовательские свойства (01.03.2019)
- Битрикс: проверка залогинен ли пользователь как Админ. (01.03.2019)
- Тонкая настройка SEO для результатов фильтрации каталога битрикс. Создание посадочных страниц для таких фильтраций (25.02.2019)
- Как поменять пароль от админки Bitrix? Вход в админку без пароля (07.02.2019)
- Битрикс: Формирование цены - отделить пробелом тысячи от сотен (04.02.2018)
- Настраиваем красивое меню типа гамбургер на мобильных, используя плагин mmenu. На примере 1С-Битрикс (04.02.2018)
- Битрикс: Случайная выборка элементов в каталоге (06.01.2018)
- Битрикс: Умный фильтр с AJAX в компоненте каталог (bitrix:catalog) (03.01.2018)
- Битрикс: вывести свойства инфоблока (множественные или одинарные) по отдельности (15.12.2017)
- Битрикс: как добавить новые поля в почтовый шаблон (11.12.2017)
- Формы в Битриксе сделать в оформлении Bootstrap (07.12.2017)
- Артефакты при ресайзе библиотекой GD изображений с однородным (белым) фоном (07.12.2017)
- Owl Carousel 2 и Битрикс. Настройка слайдера (06.01.2018)
- Битрикс: проверка отправленных писем (26.11.2017)
- Битрикс: оформление заказа, упрощаем компонент sale.order.ajax (27.11.2017)
- Изменения в конфиге битрикса после переноса сайта. Подключение к БД (22.11.2017)
- Битрикс на поддомене. Неудобство с переменной DocumentRoot. Для хостинга Reg.ru (22.11.2017)
- Смена кодировки Битрикса с windows-1251 в UTF-8 (utf8) (01.12.2017)
- Битрикс: проверка на главной ли странице находимся (и другие проверки) (30.10.2017)
- Битрикс: правила обработки адресов и urlrewrite (30.10.2017)
- Как сделать разный title и H1 в Битриксе (30.10.2017)
- Почистить кеш Bitrix. Как удалить весь кеш в Битриксе? (20.06.2017)
- 1С-Битрикс: Карта сайта Google Sitemap в Битриксе (22.10.2011)
