Файловая структура bitrix framework. Битрикс. Информация от разработчика

Введение

Основным требованием заказчиков сайтов является скорость создания, поэтому разработчики применяют в своей работе различные 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:

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

В системе 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 могут занимать разную площадь, иметь различную форму, кардинально отличающей от, демонстрационного варианта. Неизменно у них только одно: это их порядок. Эти части расположены только в таком порядка и в другом на сайте представлены, не могут.

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

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

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

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

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

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

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

Вопрос: Почему допускается хранение контента в файловой системе, пусть даже статичного? Не место ли контенту в базе данных?

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

Размер системы довольно большой, так как в её состав включено множество компонентов необходимых для быстрого старта и работы административной части. Компоненты не консолидированы, потому что система модульная. Модули, компоненты и шаблоны имеют определенную структуру. Это важно и для обновлений системы и для разработки своих компонентов.

Большое количество файлов - свойство аналогичных систем. (У ZendFramework есть такая же особенность). При правильной конфигурации хостинга эту проблему возьмут на себя прекомпиляторы php. Критичным может оказаться размер выделяемого хостером места и большое число файлов системы. (Проблемой становится не штатная работа Bitrix Framework, а, например, работа систем бэкапов у хостеров. На большом количестве файлов они начинают себя чувствовать не очень хорошо.) Поэтому для выбора хостера рекомендуем пользоваться списком рекомендуемых хостингов .

Резюме . В качестве инструмента хранения структуры сайта выбрана именно файловая система, а не база данных в силу того что:

  • Файл дает больше свободы разработчику сайта. Поскольку файл в системе - это просто исполняемый файл.
  • Так понятнее для управления. В корне такого представления - структура статических страниц HTML, разложенных по папкам. Путем некоторого совершенствования (внедряя небольшое количество PHP-кода), мы из такого сайта сразу получаем работающий на Bitrix Framework проект.
  • В какой-то мере это - традиция, которая имела большое значение на заре становления CMS.
  • Такое представление соответствует опыту контент-менеджеров, которые работают с локальными файловыми системами (папки и файлы).

Структура сайта также может быть и в БД (инфоблоки), но управлять иерархией в реляционной БД не очень-то удобно.

Рассмотрим использование файлов в Bitrix Framework на примерах:

  1. Файловая система и меню . Меню в файлах позволяет не подключать БД там, где это реально не нужно. То же самое относится к свойствам страниц и разделов, а также правам доступа к файлам. Теоретически можно собрать информационный сайт, где вообще не будет ни одного обращения к БД. Будет работать быстрее, особенно на разделяемом хостинге. Есть и бонусы: при копировании раздела сразу естественным образом копируются меню, права доступа, свойства раздела.
  2. Файловая система и пользователи . Пользователям из административного раздела открыт доступ к файлам ядра и другим программным файлам. Но пользователи бывают разные. Например, техподдержка 1С-Битрикса. Если веб-разработчик не уверен в своих пользователях, то он всегда может запретить им как редактирование кода PHP, так и целых разделов (ядра). По современной концепции Bitrix Framework в публичной части не должно быть кода PHP - все должно быть инкапсулировано в компоненты. Тогда пользователь редактирует или "голую" статику, или настраивает компонент.
  3. Файловая система и языковые версии . Было бы трудно сопровождать языковую информацию в БД. Информация в языковых файлах меняется крайне редко - проще раз в год отредактировать строчку в языковом файле, чем хранить эти статические фразы в базе. И повторимся: база данных - это медленно и избыточно.

Структура файлов

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

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

Вся система целиком лежит в каталоге /bitrix/ , в него входят следующие подкаталоги и файлы:

  • /admin/ - административные скрипты;
  • /cache/ - файлы кэша;
  • /activities/ - папки действий для бизнес-процессов;
  • /components/ - папка для системных и пользовательских компонентов;
  • /gadgets/ - папки гаджетов;
  • /js/ - файлы javascript модулей;
  • /stack_cache/ - файлы кеша "с вытеснением";
  • /themes/ - темы административного раздела;
  • /wizards/ - папки мастеров;
  • /images/ - изображения используемые как системой в целом, так и отдельными модулями;
  • /managed_cache/ - управляемый кеш;
  • /modules/ - каталог с модулями системы, каждый подкаталог которого имеет свою строго определённую структуру;
  • /php_interface/ - вспомогательный служебный каталог, в него входят следующие каталоги и файлы:
    • dbconn.php - параметры соединения с базой;
    • init.php - дополнительные параметры портала;
    • after_connect.php - подключается сразу же после создания соединения с базой;
    • dbconn_error.php - подключается при ошибке в момент создания соединения с базой;
    • dbquery_error.php - подключается при ошибке в момент выполнения SQL запроса;
    • / ID сайта /init.php - дополнительные параметры сайта; файл подключается сразу же после определения специальной константы c идентификатором сайта - SITE_ID ;
  • /templates/ - каталог с шаблонами сайтов и компонентов, в него входят следующие подкаталоги:
    • /.default/ - подкаталог с общими файлами, используемыми тем или иным шаблоном по умолчанию, структура данного каталога аналогична нижеописанной структуре каталога содержащего конкретный шаблон;
    • /ID шаблона сайта/ - подкаталог с шаблоном сайта, в него входят следующие подкаталоги и файлы:
      • /components/ - каталог с кастомизированными шаблонами компонентов;
      • /lang/ - принадлежащие как данному шаблону в целом, так и отдельным компонентам;
      • /images/ - каталог с изображениями данного шаблона;
      • /page_templates/ - каталог с шаблонами страниц и их описанием хранящимся в файле .content.php . Когда пользователь создает новую страницу, он может выбрать, по какому шаблону из представленных в этом каталоге это будет сделано;
      • header.php - пролог данного шаблона;
      • footer.php - эпилог данного шаблона;
      • template_styles.css - основной файл стилей для шаблона;
      • styles.css - CSS стили шаблона для визуального редактора (вкладка Стили сайта);
  • /tools/ - при инсталляции в этот каталог копируются дополнительные страницы, которые могут быть непосредственно использованы на любых страницах сайта: помощь, календарь, показ изображения и т.п.;
  • /updates/ - каталог, автоматически создаваемый системой обновлений;
  • header.php - стандартный файл, подключающий в свою очередь конкретный пролог текущего шаблона сайта; данный файл должен использоваться на всех страницах публичной части;
  • footer.php - стандартный файл, подключающий в свою очередь конкретный эпилог текущего шаблона сайта; данный файл должен использоваться на всех страницах публичной части;
  • license_key.php - файл с лицензионным ключом;
  • spread.php - файл используемый главным модулем для переноса куков посетителя на дополнительные домены различных сайтов;
  • redirect.php - файл используемый модулем Статистика для фиксации событий перехода по ссылке;
  • rk.php - файл по умолчанию используемый модулем Реклама для фиксации событий клика по баннеру;
  • stop_redirect.php - файл используемый модулем Статистика для выдачи какого либо сообщения посетителю, попавшему в стоп-лист;
  • activity_limit.php - файл используемый модулем Статистика для выдачи сообщения роботу при превышении им лимита активности;
  • и другие служебные файлы и папки.

В зависимости от используемой редакции некоторые каталоги и файлы могут отсутствовать.

О 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)