Использование API Bitrix

Битрикс начинает внедрять своё новое ядро D7 которое реализует принципы ООП. И постепенно будет убирать с поддержки старые функции.

Необходимо использовать новое API по максимуму!!! Здесь описаны только самые важные классы, за неиспользование которых, вы получите по пальцам. Остальные классы можно посмотреть в документации

Проверка на Admin

Если вам нужно на боевом сайте вывести массив $arResult или $arParams, то это можно делать только скрыто от пользователя! Чтобы вывести массив в на боевом сайте только для админа:

<?
global $USER;
if ($USER->IsAdmin()) {?>
    <pre><?print_r($arResult)?></pre>
<?}?>

Подключение JS и CSS в header.php

header.php
use Bitrix\Main\Page\Asset

Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . "/js/fix.js"); 
Asset::getInstance()->addCss(SITE_TEMPLATE_PATH . "/styles/fix.css"); 
Asset::getInstance()->addString("");

Подключение JS и CSS в компоненте

Подключать JS и дополнительные CSS нужно только там, где они нужны, не надо всё пихать в header.php. Если скрипт используется только на определённой странице или разделе, то его необходимо подключать в компоненте

Подключение модулей

Вместо старого доброго CModule для подключения модулей нужно применять новый бодрый Bitrix\Main\Loader .

Подключение локализации сайта

Если сайт Многоязычный то локализацию необходимо подключать так:

Работа с GET- и POST-параметрами страницы

Чтобы избавиться от глобальных переменных в коде (суперглобальных в том числе) в D7 изобрели класс Bitrix\Main\HttpRequest . Забирать get- и post-переменные теперь можно через него.

Ресайз изображений методами ResizeImageGet и ResizeImageFile

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

В ResizeImageGet, ресайз изображения происходит по идентификатору файла из таблицы b_file или массив описания файла (Array(FILE_NAME, SUBDIR, WIDTH, HEIGHT, CONTENT_TYPE)), полученный методом GetFileArray. Метод уменьшает картинку и размещает уменьшенную копию в папку /upload/resize_cache/путь. Один раз уменьшив изображение получаем физический файл, который позволяет при последующих обращениях не проводить операции по уменьшению изображения. При следующем вызове метод вернет путь к уменьшенному файлу. Статический метод.

В ResizeImageFile, ресайз изображения происходит по ссылке к исходному файлу и на лету, без сохранения нового изображения. Метод производит изменение размера графического файла. Если исходный файл с расширением BMP, то файл-результат будет переконвертирован как JPEG и в destinationFile вернется модифицированное имя. Статический метод.

title, h1, descriptions, keywords, Breadcrumbs

Компонент Breadcrumbs всегда должен инициализироваться в header.php

Если вам не нужно показывать Breadcrumbs навигационную цепочку на какой либо странице, вам достаточно вставить в теле страницы код, инициализирующий свойство страницы "NOT_SHOW_NAV_CHAIN" значением "Y":

arFilter

Пример сложного фильтра:

Last updated

Was this helpful?