Глоссарий


 

Не считаем наших читателей ламерами в PHP

 Идиомы программирования

 

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

Bitrix Framework допускает разработку пользовательских модулей.

Пункты административного меню можно добавлять с помощью события OnBuildGlobalMenu.

С версии 15.5.1

С указанной версии появилась штатная поддержка вызова стороннего файла css. Под сторонним файлом понимается как локальный файл вне компонента так и файл на внешнем домене.

$this->addExternalCss("/local/styles.css");
$this->addExternalJS("/local/liba.js");

 

 

 Цитатник веб-разработчиков.

Антон Долганин:

Я для себя выделил примерно так градацию создания магазинов (не учитывая супер-пупер уникальные):

  • 50-70 часов на создание "можно торговать", дизайн подключен, все работает.
  • 30 часов - тюнинг, комментарии клиента, которые не учел в начале.
  • Хитрые SKU или сложное оформление накидывают еще 50 часов.

Это именно боевые часы, сел и работаешь, а не офисные часы.

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

 

#WORK_AREA# - основная рабочая область. Рабочая область страницы, в которой размещаются собственно информационные материалы сайта. В качестве Основной рабочей области может подключаться как физический файл, так и создаваемый системой на основе комплексных компонентов, динамический код.

 Используйте инфоблоки 2.0. Это включаемый галочкой в административном разделе режим работы инфоблока, когда его поля переносятся в отдельную таблицу. 

 

Структура файлов шаблона сайта

Пример общей структуры файлов и папок шаблона сайта:

  • каталог /components – предназначен для шаблонов компонентов;
  • каталог /images – предназначен для картинок шаблона (которые не зависят от просматриваемой страницы), копируется из верстки сайта;
  • каталог /include_areas – содержит включаемые области шаблона;
  • каталог /lang – содержит файлы языковых сообщений;
  • каталог /page_templates – для шаблонов страниц и редактируемых областей;
  • каталог /snippets – содержит сниппеты – маленькие фрагменты html-кода для ускорения работы контент-менеджера по созданию часто встречающихся блоков кода;
  • каталог /themes – тема оформления шаблона;
  • файл header.php – часть шаблона ДО контента;
  • файл footer.php – часть шаблона ПОСЛЕ контента;
  • файл description.php – название и описание шаблона;
  • файл .styles.php – описания стилей для визуального редактора страниц;
  • файл template_styles.css – стили шаблона (стили применяемые в самом шаблоне дизайна сайта);
  • файл styles.css – стили для контента и включаемых областей. Эти стили можно применять в визуальном редакторе.

 

Highload-блоки

Поскольку модуль Информационные блоки считается очень "тяжелым" для создания легких справочников или хранения большого количества данных (когда модуль может вести себя не очень оптимально), то появилась потребность в создании аналога инфоблоков (модуль Highload-блоки), но гораздо проще и "полегче" Примечание: Highload-блоки и традиционные инфоблоки - это разные вещи. Поэтому нет возможности конвертации традиционных инфоблоков в Highload-блоки. Это все равно как конвертировать форум в wiki. Технически можно создать какую-то аналогичную структуру и перенести данные. Но это имеет смысл только для конкретного проекта при определенной необходимости.

 

Компонент - это логически завершённый код, предназначенный для извлечения информации из инфоблоков и других источников и преобразования её в HTML-код для отображения в виде фрагментов web-страниц. Состоит из собственно компонента (контроллер) и шаблона (представление). Компонент, с помощью API одного или нескольких модулей, манипулирует данными. Шаблон компонента выводит данные на страницу.

 

 

ORM (англ. Object-relational mapping, рус. Объектно-реляционное отображение) - технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». (Wikipedia)

 

 Коллекция - это умный массив, позволяющий оптимизировать групповые операции с объектами одного типа.

 

 

  1. Cущности (Bitrix\Main\Entity\Base);Сущность описывает таблицу в БД, в т.ч. содержит поля сущностей.
  2. Поля сущностей (Bitrix\Main\Entity\Field и его наследники);
  3. Датаменеджер (Bitrix\Main\Entity\DataManager). Датаменеджер производит операции выборки и изменения сущности
 
Отложенные функции - технология, позволяющая задавать заголовок страницыпункты навигационной цепочкиCSS стилидополнительные кнопки в панель управлениямета-теги и т.п.
Отложенные функции нельзя использовать в файлах шаблона компонента: template.php и result_modifier.php (так как результаты их выполнения кешируются).
 

Группы функций задействованные в данной технологии:


 

Структура файлов и папок модулей на D7 осталась такой же, как и в старой версии ядра.

API (классы, логика) модуля в новом ядре располагается в подпапке /lib папки модуля. Например, для Главного модуля путь будет таким: bitrix/modules/main/lib. Из этой же папки API будет автоматически подключаться при соблюдении некоторых правил.

 

Имя функции обеспечивающей откладывание

Выполнение какой функции откладывается Дополнительные связанные функции
CMain::ShowTitle CMain::GetTitle CMain::SetTitle
CMain::ShowCSS CMain::GetCSS CMain::SetTemplateCSS
CMain::SetAdditionalCSS
CMain::ShowNavChain CMain::GetNavChain CMain::AddChainItem
CMain::ShowProperty CMain::GetProperty CMain::SetPageProperty
CMain::SetDirProperty
CMain::ShowMeta CMain::GetMeta CMain::SetPageProperty
CMain::SetDirProperty
CMain::ShowPanel CMain::GetPanel CMain::AddPanelButton

 

 

 

 

Иногда бывают ситуации, что файл .settings.php отсутствует. Его можно создать в автоматическом режиме, если выполнить в командной строке : Bitrix\Main\Config\Configuration::wnc();.