Файловая структура bitrix framework. Что такое Bitrix

Немного теории:

В системе Bitrix заложена довольно популярная архитектура: разделения данных, представления и обработки действий пользователя на три отдельных компонента.
Данная архитектура именуется как MVC (Model-view-controller, «Модель-представление-поведение»), и широко применяется для проектирования различных программных продуктов.

В свою очередь шаблон MVC для Bitrix Framework формируется из следующих частей:
Модель — это API;
Представление — это шаблоны;
Контроллер — это компонент;

В данной статье мы поговорим о компоненте Bitrix .
Компонент — это контроллер и представление для использования в публичном разделе. Компонент с помощью API одного или нескольких модулей манипулирует данными. Шаблон компонента (представление) выводит данные на страницу.

Структура компонента

Стандартные компоненты Bitrix хранятся в каталоге /bitrix/components/bitrix/. Как утверждают разработчики: компоненты находящиеся в данном каталоге могут перезаписываться при обновлении, и для кастомизации компонентов предпочтительно заводить отдельный каталог для своих компонентов.

В связи с этим в каталоге /bitrix/components/ заводим новый каталог, в котором будут храниться наши компоненты.

Дадим ему имя custom. Теперь создадим каталог для нашего компонента /bitrix/components/custom/sections.list/. Привычная структура папок и файлов простого компонента выглядит так:
— help
— images
— lang
— templates
.description.php
.parameters.php
component.php

Рассмотрим всё это по порядку.
В папке help обычно лежит файл .tooltips.php , содержащий массив всплывающих подсказок для настроек компонента. Не будем на нём останавливаться, пример этого файла можно посмотреть в других компонентах.
В папке images обычно лежит иконка компонента.
В папке lang лежат подпапки для языковых параметров компонента.
В папке templates — все шаблоны компонента.
Можно сразу сделать шаблон по умолчанию для нашего компонета. Полный путь до него будет выглядеть так: /bitrix/components/custom/sections.list/templates/.default/template.php.
Вставим туда пока одну единственную строчку «Это шаблон компонента custom:sections.list».

В файл .description.php прописываем следующий код:

"Custom: список разделов инфоблока", "DESCRIPTION" => "Список разделов инфоблока", "ICON" => "/images/sections_list.gif", "CACHE_PATH" => "Y", "PATH" => array("ID" => "utility",),); ?>

Итак, файл содержит массив с описанием компонента.
Далее следует файл — .parameters.php :

array("IBLOCK_ID" => array("NAME" => "Id инфоблока", "TYPE" => "STRING", "MULTIPLE" => "N", "PARENT" => "BASE",), "CACHE_TIME" => array("DEFAULT"=>3600),),); ?>

Рассмотрим содержимое файла более подробно. Ключ PARAMETERS массива $arComponentParameters представляет собой массив с описанием параметров. Наш компонент будет содержать только один основной параметр — IBLOCK_ID (ID инфоблока, из которого будут показываться разделы).
Ключи:
NAME — название параметра;
TYPE – тип;
MULTIPLE — множественность (если ‘Y’, то наш параметр сможет принимать массив значений);
PARENT — родитель (параметры можно делить на группы);

Обратите внимание на второй параметр CACHE_TIME — он по умолчанию для компонентов Bitrix и устанавливает время кеширования.

Из массива $arComponentParameters будет сгенерирован массив $arParams, который будет использоваться в основном файле нашего компонента — component.php

Содержимое файла component.php :

"; print_r($arParams); echo ""; CModule::IncludeModule("iblock"); if ($this->StartResultCache(3600)) { $iblock_id = $arParams["IBLOCK_ID"]; $arFilter = array("IBLOCK_ID"=>$iblock_id); $db_list = CIBlockSection::GetList(array("NAME"=>"ASC"), $arFilter, true, array("ID", "NAME", "CODE")); while($ar_result = $db_list->GetNext()) { $arResult = array("ID" => $ar_result["ID"], "CODE" => $ar_result["CODE"], "NAME" => $ar_result["NAME"], "ELEMENT_CNT" => $ar_result["ELEMENT_CNT"]); } // echo "

"; print_r($arResult); echo "
"; $this->IncludeComponentTemplate(); } ?>

Файл component.php содержит всю логику компонента, основная задача этого файла — сформировать из полученных параметров ($arParams) массив $arResult, который впоследствии будет передан в шаблон компонента. Обратите внимание на два комментария. Раскомментировав их, вы всегда сможете наблюдать за тем, какие параметры приходят в компонент, и какой результат получает шаблон.
Код созданного нами компонента не сложен — в зависимости от полученого параметра (ID инфоблока) мы делаем выборку разделов и сохраняем их в массив $arResult. Следует обратить внимание на вызов метода $this->StartResultCache(). Он проверяет, есть ли у нашего компонента актуальный кеш. Если он есть, то выводится информация из кеша. Следовательно, запроса к базе нету, массив $arResult не генерируется, и даже шаблон не подлючается (метод $this->IncludeComponentTemplate()).

Шаблон компонента

Следующий шаг — создание шаблона для компонента. Шаблон принимает массив $arResult, сгенерированный в файле component.php и выводит его содержимое в браузер. Файл шаблона нашего компонента будет находиться по следующему пути: /bitrix/components/custom/sections.list/templates/.default/template.php
Код в шаблоне компонента:

Рубрики блога

()

Вызов компонента

После создания компонента его необходимо вызвать в нужном участке кода на сайте. Для этого создадим в корне сайта файл test.php, и пропишем в него следующий код:

IncludeComponent("custom:sections.list", ".default", array("IBLOCK_ID" => 1), false); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); ?>

Для параметра IBLOCK_ID необходимо указать ID инфоблока, содержащего разделы. Записав параметры в файле, следует запросить скрипт посредством браузера, и просмотреть результат./strong

В данном видео поговорим о шаблоне, а в частности «структуре страниц сайта » на 1С Битрикс. Где на ней размещается информация, и как формируется сам шаблон.

Из видео Вы узнаете:

  • Что такое (header, work area, footer)
  • Что остается не изменчивым от шаблона к шаблону
  • Какая информация редактируется через визуальный редактор

Структура странички – каждая страница сайта на 1С Битрикс формируется динамически путем подключения трех составляющих (header, work area, footer).

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

Создание шаблонов сайта и размещения на нем компонентов, производится программистами или специалистами которые в этом хорошо разбираются, но тем не менее, контент-менеджер должен иметь представление о том как устроена полностью страница сайта на 1С Битрикс.

Для примера рассмотрим нашу страницу с готовыми решениями.

В большинстве случаем, целиком страничка сайта формируется таким образом.

Как Вы заметили, структура дизайна поделена на три части:

Верхняя часть , обведенная синим цветом – называется header . Эта часть, подключается отдельным файлом к самому шаблону сайта. Включает в себя, верхнюю и левую часть сайта со статической информацией такой как (логотип, название, лозунг и так далее), верхнее горизонтальное меню, и вертикальное меню которое видим в нашем случае, а также информационные динамические материалы, как представлены у нас на сайте это авторизация, хлебные крошки и много другое.

Основная рабочая область , обведенная зеленым цветом - называется work area . Это сама рабочая область страницы, в которой и размещаются собственно информационные материалы сайта. С этой областью нам приходится больше всего работать, в ней мы редактируем наш контент, новости, фотографии, в общем все-то, с чем мы привыкли делать. В качестве Основной рабочей области может подключаться как физический файл, так и создаваемый системой на основе комплексных компонентов динамический код.

Если в качестве Основной рабочей области подключается физический файл, это мы знаем из предыдущего урока, то такая страница называется статической. Если подключается динамический код, то такая страница называется динамической.

Нижняя часть сайта , обведенная красным цветом – называется footer . Эта часть, так же как и header, подключается отдельным файлом к самому шаблону сайта. Включает в себя, статическую информацию которая может содержать (контактную информацию, сведения об авторе и владельце сайта, телефоны и так далее), в других шаблонах может присутствовать горизонтальное меню и правое меню если конечно они есть в дизайне сайта. Может также включать в себя и, информационные материалы.

Все эти три части header , work area , footer могут занимать разную площадь, иметь различную форму, кардинально отличающей от, демонстрационного варианта. Неизменно у них только одно: это их порядок. Эти части расположены только в таком порядка и в другом на сайте представлены, не могут.

Вся информация верхней и нижней части дизайна сайта формируются на основе шаблона. Т.е. информация, отображаемая в данных областях, определяется параметрами шаблона сайта.

Когда мы говорим о редактировании страницы сайта, в большинстве своем имеется в виду изменение содержимого Основной рабочей области. Здесь контент-менеджер может разместить любую информацию: текст, список новостей, каталог товаров, форму голосования, в общем, что ему будет угодно.

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

Включаемые области можно настроить:

  • для просмотра всех страниц сайта;
  • для страниц определенного раздела сайта;
  • для отдельной страницы;
  • в зависимости от любых других программных условий.

Более подробно по работе с включаемыми областями смотрите в следующих видео уроках.

Если остались вопросы, и что-то не понятно из видео пишите в комментариях.

Введение

Основным требованием заказчиков сайтов является скорость создания, поэтому разработчики применяют в своей работе различные web-framework"и , такие как Laravel , Yii , CodeIgniter и прочие, которые содержат в себе набор готовых решений. Но содержимое сайтов часто обновляется, а компании заказчиков редко имеют собственный отдел веб-разработки для внесения правок, и при этом заказывать мелкие правки сторонним разработчикам не имеют никакого желания. Поэтому были разработаны системы управления контентом (CMS ), которые позволяют вносить изменения на сайте, не имея глубоких знаний в программировании. Используя выше перечисленные framework"и разработчики сами создают CMS , но существует множество готовых систем. Такими системами являются Drupal , WordPress , OpenCart , Joomla и 1С Битрикс . О последней как раз и будет эта статья, так как у меня есть опыт разработки сайтов на этой платформе.

В отличие от других перечисленных CMS, 1С Битрикс платная платформа, но эта платформа имеет ряд преимуществ. Во-первых это техническая поддержка, которая быстро помогает с возникшими трудностями. Во-вторых это мощный eCommerce модуль Интернет-магазин, который достаточно хорошо проработан и имеет большое количество возможностей, в частности встроенная интеграция с 1С Предприятие , что делает эту платформу более привлекательной среди своих конкурентов. Также есть много других преимуществ, которые можно найти на официальном сайте .

1. Базовые понятия

Для того чтобы начать разработку сайта на платформе 1С Битрикс необходимо разобраться с базовыми понятиями. На рисунке 1 показана публичная (а) и административная (б) части сайта.

Для переключения публичной и административной частей служат вкладки 1 и 2 соответственно.

Рисунок 1 - Административная панель управления 1С Битрикс

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


Рисунок 2 - Визуальный редактор 1С Битрикс

В административной части сайта на вкладке Контент есть встроенный файловый менеджер, где также можно создавать и редактировать файлы и папки. Для того чтобы контент-менеджерам сайта было легко манипулировать динамическими данными разработчиками 1С Битрикс была разработана технология информационных блоков. Информационные блоки - это модуль, позволяющий каталогизировать и управлять различными типами однородной информации . С помощью информационных блоков может быть реализована публикация различных типов динамической информации . Информационные блоки строятся по следующей структуре:

  1. тип инфоблока - используется для группировки информационных блоков;
  2. инфоблок - блок однородной информации;
  3. раздел - логические единицы, используемые для группировки элементов внутри информационного блока;
  4. элемент инфоблока - непосредственно информация, размещаемая в информационных блоках.

На рисунке 3 показана структура информационного блока Каталог товаров в одном из интернет-магазинов. На рисунке 4 показано отображение этого инфоблока в публичной части компонентом Каталог.


Рисунок 3 - Структура информационного блока в 1С Битрикс


Рисунок 4 - Вывод инфоблока в публичной части

Отображение страниц в публичном разделе сайта выполняется на основе шаблонов дизайна сайта. Шаблон дизайна - это внешний вид сайта, в котором определяется расположение различных элементов на сайте, художественный стиль и способ отображения страниц . Включает в себя программный html-код, графические элементы, таблицы стилей, дополнительные файлы для отображения контента. Может также включать в себя шаблоны компонентов , шаблоны готовых страниц и сниппеты . В общем случае шаблон сайта задает обрамление страницы, а за вывод динамической информации отвечают Визуальные компоненты . Шаблоны дизайна делятся на шаблоны сайта и компонентов. Шаблон сайта можно привязать к странице, к папке на сервере, к условному выражению PHP. Чаще всего, и это является хорошим тоном разработки, один сайт имеет один шаблон сайта, в котором содержатся шаблоны компонентов.

2. Файловая структура платформы 1С Битрикс

Файловая структура framework"а 1С Битрикс имеет следующий вид:

  • /bitrix/ - системный каталог framework а ;
    • templates/ - директория с шаблонами сайта;
      • .default/ - шаблон сайта по умолчанию;
      • <шаблон сайта>/ - пользовательский шаблон сайта;
        • components/ - шаблоны компонентов;
        • images/ - предназначен для картинок шаблона (которые не зависят от просматриваемой страницы);
        • include_areas/ - содержит включаемые области шаблона;
        • lang/ - содержит файлы языковых сообщений;
        • page_templates/ - для шаблонов страниц и редактируемых областей;
        • snippets/ - содержит сниппеты - маленькие фрагменты html-кода для ускорения работы контент-менеджера по созданию часто встречающихся блоков кода;
        • header.php - часть шаблона ДО контента;
        • footer.php - часть шаблона ПОСЛЕ контента;
        • description.php - название и описание шаблона;
        • .styles.php - описания стилей для визуального редактора страниц;
        • template_styles.css - стили шаблона (стили применяемые в самом шаблоне дизайна сайта);
        • styles.css - стили для контента и включаемых областей. Эти стили можно применять в визуальном редакторе;
    • components/ - пользовательские и системные компоненты;
    • modules/ - модули платформы;
    • php_interface/ - вспомогательный служебный каталог, в него входят следующие каталоги и файлы;
      • dbconn.php - параметры соединения с базой;
      • init.php - дополнительные параметры портала, этот файл вызывается на каждой странице;
      • after_connect.php - подключается сразу же после создания соединения с базой;
      • dbconn_error.php - подключается при ошибке в момент создания соединения с базой;
      • dbquery_error.php - подключается при ошибке в момент выполнения SQL запроса;
      • /ID сайта/init.php - дополнительные параметры сайта; файл подключается сразу же после определения специальной константы c идентификатором сайта - SITE_ID;
    • header.php - стандартный файл, подключающий в свою очередь конкретный пролог текущего шаблона сайта; данный файл должен использоваться на всех страницах публичной части;
    • footer.php - стандартный файл, подключающий в свою очередь конкретный эпилог текущего шаблона сайта; данный файл должен использоваться на всех страницах публичной части;
  • /index.php - индексный файл главной страницы публичной части сайта;
  • /urlrewrite.php - содержит выражения для ЧПУ (человеко подобные УРЛы);
  • /.<тип меню>.menu.php - меню сайта типа <тип меню>;
  • /.<тип меню>.menu_ext.php - расширение для динамического меню;
  • /.access.php - файл с правами доступа к публичной части пользователей;
  • /404.php - эта страница вызывается если пользователь перешел на несуществующую страницу.

В этом списке представлены только основные файлы и каталоги, подробное описание всех каталогов и файлов можно посмотреть в официальных курсах 1С Битрикс , .

Также следует отметить основные глобальные объекты основных классов платформы:

  1. $APPLICATION - объект главного модуля сайта класса CMain;
  2. $USER - объект текущего пользователя класса CUser;
  3. $DB - объект для работы с базой данных класса CDBResult.

Подробнее об этих и других не мало важных классах и их методах можно почитать в документации к API (Application Programming Interface) 1С Битрикс .

3. Порядок разработки сайта

Последовательность разработки любого сайта на любой платформе состоит из следующих обязательных этапов:

  1. разработка дизайна сайта;
  2. верстка страниц по дизайну;
  3. перенос верстки на платформу.

После выполнения первого и второго пунктов следует переходить к разработке на 1С Битрикс . Разработка сайта на платформе 1С Битрикс начинается с создания шаблона сайта в папке /bitrix/templates/ и подключение этого шаблона в административной части сайта в Администрирование/Настройки/Настройки продукта/Сайты/Список сайтов, где необходимо выбрать из списка сайт и в пункте шаблон сайта подключить созданный шаблон, как показано на рисунке 5.


Рисунок 5 - Подключение шаблона сайта

После создания шаблона в его директории следует создать файлы, описанные в пункте 2. В файле .description.php следует написать описание шаблона, которое будет показываться в административной части сайта . Далее необходимо оценить верстку и выделить общие части на всех страницах, причем если на одной странице элемента нет, но разработчик уверен, что на всех остальных он будет, то это еще не повод для создания отдельного шаблона сайта, в таких случаях приемлемо написать условие, и в этом условии выводить этот блок. Например, компонент хлебные крошки встречается на всех страницах кроме главной. После выделения общих частей сайта следует эту часть верстки перенести в файлы header.php (верхнюю часть) и footer.php (нижнюю часть). В файле header.php после тега body следует вызвать метод $APPLICATION->ShowPanel() , чтобы при авторизации администратора на сайте отображалась административная панель. Стили, связанные с header.php и footer.php , следует разместить в файле template_styles.css , а общие стили, которые будут применяется контент-менеджером при наполнении сайта следует размещать в файле styles.css , остальные стили должны располагаться в шаблонах компонентов. Типичная структура файла header.php выглядит следующим образом:

1. 2. DOCTYPE html > 3. <html lang ="ru" > 4. <head > 5. <meta charset ="utf-8" /> 6. ShowHead(); ?> 7. <title > ShowTitle() ?>title > 8. <meta http-equiv ="X-UA-Compatible" content ="IE=edge" /> 9. <meta name ="viewport" content ="width=device-width, initial-scale=1.0" /> 10. head > 11. <body > 12. ShowPanel() ?> 13. <header > 14. <div class ="wrapper clearfix" > 15. <a href ="/" class ="logo" style ="background-image: url(/images/logo.svg?1);" > a > 16. IncludeComponent("bitrix:menu" , "top_menu" , Array ("ROOT_MENU_TYPE" => "top" ,"MAX_LEVEL" => "1" ,));?> 17. div > 18. header > 19. GetCurPage(false ) ! == "/" ) { 21. $APPLICATION-> IncludeComponent("bitrix:breadcrumb" , "" , Array ()); 22. } 23. ?>

1. 2. <footer > 3. IncludeComponent("bitrix:main.include" ,"" ,Array ("AREA_FILE_SHOW" => "file" , "EDIT_TEMPLATE" => "phones.php" ));?> 4. footer > 5. body > 6. html >

Следует отдельно отметить некоторые строки этих файлов. Первая строка файла header.php запрещает вызов этого файла, если не было вызвано ядро системы. Метод $APPLICATION->ShowHead() на строке 6 выводит служебные мета теги, например keywords , description . Метод $APPLICATION->ShowTitle() выводит название страницы, которое может устанавливаться в любом месте страницы методом $APPLICATION->SetTtitle() . На строке 15 используется константа SITE_TEMPLATE_PATH , которая содержит путь к шаблону сайта. На строке 16 вызывается компонент меню с шаблоном top_menu и типом top . На 19 строке выполняется вышеописанная ситуация с хлебными крошками. В файле footer.php на третьей строке подключается включаемая область с файлом phones.php . Такая конструкция позволит контент-менеджеру редактировать телефонные номера из визуального редактора не редактируя файл footer.php . Все области, которые разрешается редактировать контент-менеджеру следует выносить во включаемые области.

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

1. SetTitle("Главная" ); ?> 3. IncludeComponent("bitrix:news.list" ,"slider" ,array ("IBLOCK_ID" => "1" ));?> 4.

Между подключениями файлов header.php и footer.php размещается полезный контент страницы, чаще всего это подключение компонентов, как в данном случае, подключение компонента news.list с шаблоном slider , третьим параметром передается массив параметров компонента, в данном случае указываем, что данные необходимо брать из инфоблока с идентификатором 1.

4. Структура компонента

Системные компоненты 1С Битрикс размещаются в директории /bitrix/components/bitrix/ , их редактирование в этой папке категорические запрещено, так как все изменения потеряются после обновления системы и редактируемый компонент лишается технической поддержки. Свои компоненты следует создавать в собственном пространстве имен, для этого в папке /bitrix/components/ необходимо создать папку с названием своего пространства имен.

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

В папке templates содержатся папки с шаблонами компонента, название папки соответствует названию шаблона. Шаблон по умолчанию называется .default . Папка с шаблоном может содержать следующие папки и файлы:

  • /lang - языковые файлы шаблона;
  • result_modifier.php - может модифицировать данные полученные от компонента перед передачей их в шаблона;
  • template.php - обязательный, содержит отображение данных полученных от компонента;
  • component_epilog.php - вызывается после вывода шаблона и не попадает в КЕШ;
  • .parameters.php - может дополнять параметры компонента;
  • style.css - файл, содержащий стили шаблона, подключается автоматически;
  • script.js - файл со сценариями JavaScript, подключается автоматически.

Классическая схема работы компонента представлена на рисунке 6 .

Рисунок 6 - Схема работы компонента

Из рисунка видно, что в компонент попадают данные со страницы в массиве $arParams , файл component.php на основе полученных параметров обрабатывает данные и результат кладет в переменную $arResult . Эти переменные передаются в файл result_modifier.php , если он существует, после чего данные попадают в файл template.php , где содержится html код из верстки с php вставками для вывода данных. В файле template.php не должно быть никакой служебной логики, только вывод информации. Далее сформированные данные кешируются, чтобы при последующих вызовах не повторять обработку, а брать данные из КЕШа, и после чего вызывается файл component_epilog.php . Потом сформированный html передается на страницу, на которой вызывался компонент.

Так как файлы в директории /bitrix/components/bitrix/ редактировать нельзя, то для того чтобы создать собственный шаблон компонента необходимо скопировать папку с шаблоном из папки компонента в папку components/<пространство имен>/<название компонента> шаблона сайта и переименовать ее. Например, для кастомизации шаблона компонента news.list необходимо скопировать папку /bitrix/components/bitrix/ news.list/ templates/ .default в папку /bitrix/templates /<шаблон сайта>/components/bitrix/news.list/ и переименовать ее, например в slider . При подключении компонента, ядро битрикс сперва ищет шаблон в папке, подключенного, шаблона сайта, если там не найден ищет в папке шаблона по умолчанию /bitrix/templates/.default/components/ , если там не найден, ищет в папке шаблона компонента, и если и там не найден, то выводится ошибка.

Следует отметить, что если необходимо добавить произвольный css, это необходимо делать при помощи методов $APPLICATION->SetAdditionalCss("my.css") или $this->addExternalCss("my.css") , тогда эти файлы попадут в общий сборщик css и клиенту будет отдаваться один файл вместо нескольких, что уменьшает нагрузку на сервер, при этом данные закешируются. Аналогичные методы для javascript $APPLICATION->AddHeadScript("my.js") или $this->addExternalJS("my.js") . Как уже было отмечено выше, файлы style.css и script.js в шаблоне компонента подключаются автоматически, но если в этой папке есть их минимизированные копии с названиями style.min.css и script.min.js , то у этих файлов будет приоритет выше, чем у их полных копий.

Это самый минимум, который необходим для начала разработки сайта на платформе 1С Битрикс , но есть еще множество интересных функций и возможностей в этом framework"е , с которыми можно ознакомиться в официальном курсе на сайте 1С Битрикс .

Список литературы:

  1. Описание 1С Битрикс: https://www.1c-bitrix.ua/ products / cms/
  2. Курс разработчика 1С Битрикс - Компоненты:https://dev.1c-bitrix.ru/ learning/ course/ index.php? COURSE_ID=43& CHAPTER_ID=04565
  3. Курс контент-менеджера 1С Битрикс - Основные понятия:https://dev.1c-bitrix.ru/ learning /course /index.php? COURSE_ID=34& LESSON_ID=1881
  4. Курс разработчика 1С Битрикс - Шаблон сайта:https://dev.1c-bitrix.ru/learning/ course/ ?COURSE_ID=43& LESSON_ID=2820 https://dev.1c-bitrix.ru/ learning/
  1. Подсветка синтаксиса кода в HTML: http://markup.su/ highlighter/
  2. Архив свободно распространяемых векторных иконок: http://www.flaticon.com/
  3. Создание шаблона сайта на 1С Битрикс: http://alexvaleev.ru/sozdaem-shablon-bitrix/
  4. Создание шаблона на основе Bootstrap:

О CMS 1С-Битрикс

Система ориентирована на корпоративные сайты, информационные и справочные порталы, социальные сети, интернет-магазины, сайты СМИ, пригодна для создания других видов веб-ресурсов.

Для хранения данных сайта используется реляционная СУБД . Поддерживаются следующие СУБД: Oracle, MS SQL . Продукт работает на Microsoft Windows и UNIX‐подобных платформах , включая GNU/Linux .

«1С-Битрикс: Управление сайтом» продаётся в одной из семи составленных фирмой-разработчиком редакций (Старт, Стандарт, Эксперт, Малый бизнес, Бизнес, Портал, Большой бизнес), определяющих набор модулей и функциональность системы. На сегодняшний день в системе доступны 26 модулей: Главный модуль, Управление структурой, Информационные блоки, Поиск, Социальные сети, Проактивная защита, Компрессия, Веб-формы, Форумы, Подписка, Рассылки, Опросы, Блоги, Фотогалерея 2.0, Веб-аналитика , Реклама, Техподдержка, Почта, Обучение, Тестирование, Перевод, Валюты, Веб-сервисы, Торговый каталог, Интернет-магазин, Документооборот, AD/LDAP, Монитор производительности.

Для корректной работы с данной системой управления пользователям без знания языков HTML и PHP требуется предварительная настройка системы (создание шаблона на базе графического дизайна, создание структуры разделов и страниц, а также подключение модулей системы). Данную возможность предоставляют партнёры компании 1С-Битрикс .

Идеология системы представляет собой разделение логики на модули и компоненты. Модули в «1С-Битрикс: Управление сайтом» - это набор программных компонентов, отвечающих за работу с различными типами баз данных, а также предоставляющих унифицированный API системы. Компоненты служат для связи конечного представления информации на сайте с программным ядром системы. Они используют API, созданный модулями, для организации выборки, модификации, управления информацией в базе данных. Компоненты гораздо проще модулей, поэтому изменение логики работы сайта довольно простое. В то же время, предоставляемый функционал API довольно гибкий и каждый компонент может использовать его по-своему. Например, на базе модуля «Инфоблоки» можно организовать любые каталоги: новости, каталог товаров, каталог партнёров, фотогалерею. Для организации отдельного типа каталогов отвечает свой компонент, хотя модуль один и тот же.

Первая версия системы выпущена в 2001 году. На системе создано более 20000 сайтов. В России и СНГ сайты на «1С-Битрикс» разрабатывают более 3000 веб-студий.

На настоящий момент доступна версия 8.0.3.

О корпоративном портале 1С-Битрикс

«1С-Битрикс: Корпоративный портал» - программный продукт для создания внутрикорпоративного информационного ресурса, решающего коммуникационные, организационные и HR-задачи компании. В составе которого 23 модуля для управления информационным наполнением, структурой, форумами, рекламой и другими возможностями сайта.

Недостатки системы

Список изменений версий модулей 1С-Битрикс

Версии модулей (на 09.05.2009)

МОДУЛЬ - ВЕРСИЯ - ИЗМЕНЕНИЕ
Главный модуль - 8.0.4 - 21.04.2009
Проактивная защита - 8.0.5 - 21.04.2009
Управление структурой - 8.0.3 - 14.04.2009
Информационные блоки - 8.0.2 - 22.04.2009
Поиск - 8.0.2 - 20.04.2009
Компрессия - 8.0.0 - 07.04.2009
Веб-формы - 8.0.2 - 07.04.2009
Форум - 8.0.8 (beta) - 05.05.2009 (new)
Подписка, рассылки - 8.0.1 - 20.04.2009
Опросы, голосования - 8.0.2 - 23.04.2009
Блоги - 8.0.3 - 23.04.2009
Фотогалерея 2.0 - 8.0.0 - 07.04.2009
Социальная сеть - 8.0.3 - 23.04.2009
Статистика - 8.0.1 - 21.04.2009
Реклама, баннеры - 8.0.4 - 06.05.2009 (new)
Техподдержка - 8.0.1 - 21.04.2009
Почта - 8.0.1 - 21.04.2009
Обучение - 8.0.1 - 21.04.2009
Перевод - 8.0.1 - 21.04.2009
Валюты - 8.0.1 - 21.04.2009
Веб-сервисы - 8.0.0 - 27.03.2009
Торговый каталог - 8.0.1 - 21.04.2009
Интернет-магазин - 8.0.1 - 21.04.2009
Документооборот - 8.0.2 - 21.04.2009
AD/LDAP интеграция - 8.0.0 - 07.04.2009
Монитор производительности - 8.0.0 - 28.03.2009

См. также

Ссылки

Информация от разработчика

  • www.1c-bitrix.ru - сайт фирмы-разработчика.
  • dev.1c-bitrix.ru - центр поддержки разработчиков.

Статьи и примеры программирования для 1С-Битрикс

Мнения об 1С-Битрикс

  • «1С-Битрикс»: 6 млн хитов - Какую нагрузку выдержит сайт?

Примечания

Wikimedia Foundation . 2010 .

Книги

  • 1С-Битрикс. Корпоративный портал. Повышение эффективности компании , Роберт Басыров , В книге рассказывается о том, как повысить эффективность компании при помощи продукта «1С-Битрикс: Корпоративный портал». Новый продукт поможет вашей компании организовать командную работу,… Категория: Программы Издатель: Питер , электронная книга (fb2, fb3, epub, mobi, pdf, html, pdb, lit, doc, rtf, txt)


Любовь

Kosta
Доступно написал,…
Сергей
Спасибо

Администратор
Конечно можно. Достаточно в журнале выбрать отбор "Текущее состояние" - "Только…
Лариса
Здравствуйте! Подскажите пожалуйста, можно ли скрыть закрытые заказы из списка Заказы…
Администратор
Видимо я хотел завязаться на сесии битрикса. Но так не сделал. В итоге эта строчка…
Андрей
Добрый день, спасибо за статью. По мере прочтения возник вопрос, для чего в коде обработки…
Администратор
Проблемным место связи 2х программ всегда является обмен. Редко когда получается настроить обмен и…
Марина
Здравствуйте!Сейчас работаем в ут 11, стоит ли перходить на связку УТ+розница? Какие подводные…
Аhn
Присоединяюсь к вопросу о актах расхождений после…
Любовь
Кассовой книги в УНФ нет (строка 159). Сформировать можно только через внешние отчеты, которых нет…
Kosta
Доступно написал,…
Сергей
Спасибо

Последние статьи

Инфоблок - это сущность объединяющая в себе несколько таблиц в базе данных. Он позволяет работать с базой данных не задумываясь о структуре таблиц и взаимосвязях между ними. Для работы с инфоблоком существует специальное API. Так же инфоблок представлен в административной части сайта и имеет весь необходимый набор визуальных команд для просмотра и редактирования информации в инфоблоке. Практически всё, что делается в системе в той или иной мере завязано на этот модуль, даже если это и не отображается явно.

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

  • Типы информационных блоков (b_iblock_type )
  • Информационные блоки (b_iblock )
  • Элементы (b_iblock_element )
  • Группы (разделы) информационных блоков (b_iblock_section )
  • Привязка элементов к разделам. Автоматическая таблица. (b_iblock_section_element )
  • Свойства разделов инфоблока (b_iblock_section_property )
  • Поля элементов инфоблока (b_iblock_fields )
  • Свойства элементов инфоблока (b_iblock_property )
  • Варианты значений свойств типа "список" (b_iblock_property_enum )
  • Значения cвойств (b_iblock_element_property )
  • SEO свойства (b_iblock_iproperty )
  • Привязка инфоблоков к сайтам (b_iblock_site )
  • Права доступа к инфоблоку в стандартном режиме прав (b_iblock_group )
  • Права доступа к инфоблоку в расширенном режиме прав (b_iblock_right )
  • Расширенные права доступа к разделам. Автоматическая таблица. (b_iblock_section_right )
  • Расширенные права доступа к элементам. Автоматическая таблица. (b_iblock_element_right )
  • Блокировка элементов. Используется модулем Бизнес-процессов (b_iblock_element_lock )
  • Таблица генераторов последовательностей для свойства типа "Счётчик". Автоматическая. (b_iblock_sequence )
  • Языкозависимые параметры типов информационных блоков (b_iblock_type_lang )
Впечатляет да? Конечно не все таблицы используются всегда, но тем не менее надо понимать, что инфоблок это универсальная сущность гибкая, но и тяжелая. Любое обращение к базе данных приводит к тяжелым и долгим запросам. Отсюда и требования к высокопроизводительному хостингу у Битрикс и необходимость использования кеширование. Это основной минус Инфоблоков Битрикс.
И давайте сразу поговорим о плюсах и минусах такого подхода.

Плюсы

  • Универсальность работы и API
  • Одинаковая структура данных для любого проекта
  • Быстрое визуальное проектирование структуры данных
  • Доступ из административной части и из публичной (не нужно разрабатывать свои интерфейсы)
Минусы
  • Повышенные требования к производительности
  • Не оптимальность для простых реализаций (это когда ради простой структуры данных приходится использовать кучу таблиц инфоблока)
Давайте от теории перейдем к практике, а точнее к созданию инфоблока и наполнению его данными.

Создание инфоблока

Я не буду подробно останавливаться ни работе с Инфоблоком в админки Битрикс, я думаю с этим можно разобраться самостоятельно. Я только опишу то, что будет нам необходимо для разработки нашего магазина StartShop. А сам инфоблок мы загрузим готовый из XML файла, чтобы вы имели уже наполненный инфоблок товаром с картинками и могли с ним работать, не тратили время на наполнение.
Управление инфоблоками находится в разделе Контент .
Нам потребуется отдельный Тип инфоблока , назовем его Каталог, он должен быть древовидным.
Тип инфоблока, это своего рада группировка которой удобно отделять одни инфоблоки от других. У нас будет как минимум 2 типа инфоблока: Каталог и Сервис .
Далее нам потребуется инфобок, который мы назовем Товары .
Помимо обязательных полей Название , Символьный код , привязка к сайту хочу обратить внимание на настройку ЧПУ (URL страниц) это важно. Настройки URL определяют адрес по которой будет выдаваться элемент инфоблока или список элементов. Ведь страниц товаров не существует, как отдельных страниц на сайте. Они генерируются динамически, компонент делает запрос к инфоблоку, получает данные и выдает виртуальную страницу по определенному адресу. Шаблон адреса, по которому нужно сделать запрос к инфобоку будет настроен в параметрах компонента (например Новости) и этот шаблон должен совпадать с настройками инфоблока. В противном случае откроется пустая страница.
Давайте пока просто настроем, как у меня, а при настройке вывода данных вам станет понятно, как все работает.
  • URL страницы информационного блока: #SITE_DIR#/catalog/
  • URL страницы раздела: #SITE_DIR#/catalog/#SECTION_CODE#/
  • URL страницы детального просмотра: #SITE_DIR#/catalog/#SECTION_CODE#/#ELEMENT_CODE#/
Следующее, что нам понадобится настроить дополнительные поля Свойства инфоблока.

Про все свойства я буду рассказывать по мере потребности в них. Сейчас же обращу внимание только на два первых: Цена и Количество , это те данные которые потребуются для товара. Оба свойства будут иметь тип Число .
Если раскроете выпадающий список Тип увидите, что у свойства могут иметь различные типы данных. Не только примитивные типы (булево, строка, число, дата), а также и сложные типы (видео, файл, текст, привязка к элементам инфоблока, привязка к картам и др.). Т.е. о чем я говорил выше инфоблок очень универсальная сущность способная хранить различные данные в себе.

Импорт / экспорт инфоблоков

Академия Битрикс (материалы для инфоблока)

И так, интернет магазин у нас будет продавать одежду. Данные инфоблока я возьму из Битрикс академии .


Очень рекомендую посмотреть их видео уроки. Очень все четко и на высоком уровне. Не так подробно, как у меня, но зато потратив пару часов можно охватить очень много информации.
Инфоблок мы возьмем из материалов курса Быстрый старт разработчика . Там находятся те же изображения (надо сказать очень симпатичных девушек), что и в demo-данных типового интернет-магазина Битрикс. Все материалы курса в том числе и инфоблок можно скачать с сайта 1c-bitrix . Я же немного подкорректировал инфоблок, и выкладываю только его на своем сайте.

Экспорт Инфоблока

Экспорт и импорт инфоблоков это ещё одна очень удобная возможность работы с инфоблоками, особенно при изучении Битрикс. И сейчас расскажу почему. Когда у вас нет лицензии, установка Битрикс работает всего 30 дней. Чтобы продолжить разработку вы можете поставить новое веб-окружение Битрикс снова на 30 дней (об этом был Урок 2). Но что делать с данными. вносить в ручную? Вот тут нас спасет возможность экспорта и импорта данных ифоблока. Таким образом на демо-версии можно работать достаточно долго. Инфоблоки загрузить через экспорт/импорт, а структуру сайта и папку local просто скопировать со старого проекта.
Чтобы экспортировать Инфоблок нужно перейти в админке Битрикс в раздел Контент .


Есть возможность экспортировать в 2 формата CSV и XML . Особенности экспорта в этих форматах следующие:

CSV

При экспорте в CSV есть возможность настроить поля, которые будут выгружаться в файл. Но при этом картинки выгружены не будут.

Соответственно при импорте нужно сначала создать ифноблок со всеми полями и в настройках импорта указать в какие поля загружать данные из файла.
Такой импорт удобно осуществлять в уже существующий инфоблок, который может отличаться по структуре. Например, через импорт можно скопировать данные каталога со старого сайта в новый с другой структурой. Можно даже в Exel преобразовать или дополнить данные в файле, а потом загрузить.

XML

При экспорте в XML возможностей настраивать выгружаемые поля нет, инфоблок будет выгружен полностью, но зато вместе с изображениями.
Изображения будут выгружены в туже директорию в папку catalog_files в виде папки iblock .
При импорте из XML возможности выбрать поля для импорта нет. Будет создан новый или обновлен существующий инфоблок целиком. Даже не обязательно указывать Тип инфоблока при импорте, он будет создан автоматически.
Данный способ отлично подходит для переноса наработок с одного сайта на другой. Например обработали данные на тестовом сайте, потом перенесли их на рабочий. Ну или, как я писал выше, таким образом можно переносить данные на демо-установку и продолжать ей пользоваться. Для изучения Битрикс это просто незаменимый механизм. Им мы и воспользуемся. Скачайте архив с данными инфоблока и загрузите в свой проект, например в папку uplod. Распакуйте архив в текущую папку.


После выполните импорт через XML, как на картинке выше выбрав для импорта файл catalog.xml . Будет загружен инфобок со всеми картинками из папки catalog_files. (Одно замечание, при загрузки картинки не обновляются и если изначально инфоблок загружен без них, то они не добавятся. В этом случае нужно удалить полностью инфоблоки или элементы из него и загрузить сразу с картинками.)
Перейдите в инфоблок Товары и проверьте, должно получится следующее.
А чтобы сразу в списке увидеть изображения список нужно настроить. Для этого в списке в правом верхнем углу нажмите кнопку настройки.


И выберете нужные для отображения поля. В данном случае Картинка для анонса. (в дальнейшем можно будет вывести количество и цену для удобства).

От автора:
Ну вот разобрались Инфоблоками - главной сущностью Битрикс. С ними мы будем работать на протяжение всего курса. Все нужные данные будут хранится в инфоблоках. Это и список банеров, и комментарии и подписки и все, что нам ещё понадобится. И уже в следующей статье мы выведем информацию из инфоблока с помощью компонента bitrix:news . Подписывайтесь если ещё не подписались и до новых уроков!
Поделиться: