1С-Битрикс: Управление сайтом 6.x - Руководство по интеграции
создание документов онлайн
Документы и бланки онлайн

Обследовать

Администрация
Механический Электроника
биологии
география
дом в саду
история
литература
маркетинг
математике
медицина
музыка
образование
психология
разное басни загадки журналистика известные личности спортивный
художественная культура
экономика




















































1С-Битрикс: Управление сайтом 6.x - Руководство по интеграции

разное


Отправить его в другом документе Tab для Yahoo книги - конечно, эссе, очерк Hits: 1922


дтхзйе дплхнеофщ

Начинайте, представляя конечную цель
МЕТОДЫ ИНДУКТИВНОГО ИССЛЕДОВАНИЯ
Загадки-смекалки
ПОЖАР НА БАКИНСКОМ НЕФТЕПРОМЫСЛЕ
Контроль трезвости
ПРОПАВШАЯ В ПЕСКАХ АРМИЯ
РОТАЦИОННАЯ МАШИНА
ВЕРТОЛЕТ
ОГОНЬ
Био роль холестерина и его синтез
 

1С-Битрикс: Управление сайтом 6.x

Руководство по интеграции

Введение

Данное руководство предназначено для разработчиков веб-сайтов на основе программного продукта «1C-Битрикс: Управление сайтом 6.x». В документе подробно рассматривается процедура интеграции продукта в новый или уже существующий сайт.

В данном документе подразумевается, что разработчик владеет базовыми технологиями для разработки веб-сайта, такими как HTML, CSS, PHP.

Новая технология интеграции

Версия 6.x продукта «1C-Битрикс: Управление сайтом» включает в себя целый ряд новшеств, направленных на ускорение процесса разработки сайтов.

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

Шаблон сайта может быть загружен в систему одним файлом с использованием встроенного веб-интерфейса продукта и применен к одному или нескольким сайтам. Используемые в системе шаблоны могут быть выгружены (экспортированы) в виде комплекта файлов и использованы в других проектах.



Шаблоны и сайты

Продукт «1C-Битрикс: Управление сайтом» поддерживает многосайтовость, что позволяет создать несколько сайтов на одной копии продукта. Каждый сайт может характеризоваться собственным доменным именем, внешним видом, языком интерфейса и информационным наполнением.

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

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

Рис.1.1. Шаблоны и сайты.

Выбор и назначение шаблонов для каждого сайта выполняется в административном разделе: Настройки – Настройки продукта – Сайты – Список сайтов.

Для каждого шаблона дизайна может быть задано условие, при котором данный шаблон будет применен к страницам сайта (рис. 1.2). Если условие не задано, то шаблон применяется по умолчанию как основной. Рассмотрим условия применения того или иного шаблона в настройках Демо-сайта:

Рис. 1.2. Настройка шаблонов сайта.

В соответствии с условиями, представленными на рисунке 1.2, шаблоны дизайна будут применяться к страницам сайта следующим образом:

Корпоративный сайт (на главную страницу выведен каталог книг) будет использоваться в качестве основного шаблона сайта, так как для него не задано условие показа.

Шаблон Прохождение курса обучения будет использован для страниц раздела /communication/learning/course/ на сайте.

Шаблон Версия для печати будет использован, если URL адрес страницы содержит параметр print=Y. Например, ссылка на странице сайта  http://www.site2.com/?print=Y  позволит посетителю получить версию документа для печати.

 На заметку: условие может содержать любой программный код на языке PHP, в том числе вызовы API-функций продукта. Для получения дополнительной информации смотрите документацию к продукту.

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

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

<? if ($APPLICATION->GetProperty("SECT_PROP ") == “Y”):?>

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

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


Управление шаблонами. Структура шаблона

Дизайн сайта обычно состоит из трех основных частей (рис. 2.1):

§      Верхняя часть дизайна (header).

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

§      Нижняя часть дизайна (footer).

Рис. 1.3. Основные части дизайна.

Рассмотрим, как в шаблоне настраиваются части дизайна на примере шаблона Корпоративный сайт, который включен в поставку продукта.

Управление шаблонами дизайна осуществляется в административном разделе: Настройки – Настройки продукта – Сайты – Шаблоны сайтов. В указанном разделе можно просмотреть существующие шаблоны, модифицировать их или же добавить свои собственные шаблоны сайта. Например, зайдем в режим редактирования шаблона Корпоративный сайт, выбрав действие "Изменить".

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

Рис. 1.4. Редактирование шаблона в визуальном режиме.

В основном все компоненты, используемые в шаблоне, располагаются в разделе Служебные. Остальные в соответствующей тематической группе (Контент, Сервисы и т. д.).

* Обратите внимание! Редактирование шаблона дизайна сайта в визуальном режиме будет происходить корректно, если в атрибутах  HTML тегов не содержится php-код, а также, если, например  строки и ячейки таблицы не прерываются php-кодом при формировании таблицы. Если в коде шаблона дизайна сайта есть такие особенности, то редактировать его следует только в режиме кода. Разрешить визуальное редактирование шаблона можно в настройках Главного модуля.

Рис. 1.5. Настройки главного модуля.

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

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

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

Каждая часть шаблона храниться в отдельном файле:

§      верхняя часть шаблона дизайна храниться хранится в файле …/<идентификатор шаблона>/header.php;

§      нижняя часть шаблона дизайна храниться в файле …/<идентификатор шаблона>/footer.php.

 Внимание! Система не устанавливает никаких ограничений в шаблонах и внешнем виде сайта.

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

Каскадные стили, используемые в шаблоне, рекомендуется разделять на две таблицы стилей, хранящиеся в двух разных файлах. Оба файла находятся в директории …/<идентификатор шаблона>/. Один из файлов носит название styles.css и содержит стили для представления внутреннего содержания страниц на сайте. Содержимое этого файла отображается при редактировании шаблона на закладке «Стили сайта». Во втором файле – с именем template_styles.css  - описаны стили для представления шаблона дизайна. Содержимое этого файла отображается при редактировании шаблона на закладке «Стили шаблона».

Все шаблоны хранятся в директории /bitrix/templates/. Набор файлов каждого шаблона находится в поддиректории, название которой соответствует идентификатору шаблона. В рассматриваемом нами примере шаблон размещается в каталоге:

/bitrix/templates/three_columns/.

* Примечание: При создании нового шаблона через интерфейс задается его идентификатор, название, описание для показа в списке, код шаблона внешнего вида сайта, таблицы стилей и набор используемых включаемых компонентов и картинок.  При сохранении шаблона автоматически создается поддиректория /bitrix/templates/<идентификатор шаблона>.

Каждый шаблон имеет схожую структуру файлов и поддиректорий. Простейший шаблон может состоять всего из нескольких основных файлов: header.php, footer.php, styles.css, template_styles.css, а также нескольких файлов для шаблонов меню.

Все графические элементы, используемые в шаблоне, размещаются в директории /bitrix/templates/<идентификатор шаблона>/images/.

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

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

Включаемые области и компоненты

Для динамического управления современным сайтом с использованием визуальных инструментов некоторые элементы дизайна в шаблоне представлены в виде программных компонентов. 

Вернемся к шаблону Корпоративный сайт и познакомимся с основными программными компонентами и включаемыми областями. На рисунке 1.4 выделены компоненты и включаемые области в данном  шаблоне.

Рис. 1.6. Включаемые области в шаблоне.

В HTML-коде прототипа проводятся замены выделенных областей на включения соответствующих компонентов.

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

Отдельно создаются шаблоны элементов навигации: навигационная цепочка, меню сайта.

После создания HTML-прототипа и проведения требуемых подстановок функций и вызовов для программных компонентов, в вашем распоряжении будет PHP-шаблон дизайна сайта.

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

Рис. 1.7. Режим показа включаемых областей и компонентов.

Включаемые компоненты могут иметь различные элементы управления, представленные различными иконками.

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

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

Интеграция в деталях

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

Программный продукт «1С-Битрикс: Управление сайтом» разработан таким образом, что внешнее представление (или публичная часть) отделено от программного ядра. Основная программная часть инсталлированного продукта размещается в папке /bitrix/ в корневом каталоге сайта.

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

§      /bitrix/templates/

§      шаблоны внешнего вида (дизайна сайта) и пользовательские шаблоны компонентов. Основная работа по интеграции существующего дизайна и продукта производится с файлами, находящимися в этой директории;

§      /bitrix/components/

§      системные компоненты (в пространстве имен bitrix) и пользовательские компоненты. Системные компоненты обновляются системой обновлений. Их изменение не желательно.

§      /bitrix/admin/

§      интерфейс административной части. Вызов различных форм управления и редактирования для всех основных модулей системы;

§      /bitrix/cache/
/bitrix/managed_cache/
/bitrix/stack_cache/

§      кэш-файлы, созданные в процессе кэширования динамической информации, прав доступа, курсов валют и т.д.

§      /bitrix/php_interface/

§      дополнительные системные файлы (информация для подключения к базе данных, некоторые другие файлы);

§      /bitrix/modules/

§      библиотеки классов и функций для основных модулей системы;

§      /bitrix/images/

§      картинки для модулей, установленных в системе

§      /bitrix/tools/

§      служебные файлы;

§      /bitrix/updates/

§      используется для загрузки обновлений;

§      /bitrix/wizards/

§      системные (в пространстве имен bitrix) и пользовательские мастера. Системные мастера обновляются системой обновлений и не могут изменяться пользователем;

§      /bitrix/

§      дополнительные служебные файлы.

Типовая страница

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

<?

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

$APPLICATION->SetTitle("1С-Битрикс: Управление сайтом 6.0");

?>

Тело документа. Содержательная часть.

<?

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");

?>

Свойства страниц и папок

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

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

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

Примеры зарезервированных свойств:

§      title, свойство используется для установки дополнительного заголовка страницы (см. Установка заголовка документа);

§      adv_desired_target_keywords, свойство используется для установки желательных (desired) ключевых слов для показа рекламы на странице (см. Размещение рекламных областей);

§      not_show_nav_chain, свойство используется для выключения показа навигационной цепочки на странице или в разделе сайта (см. Настройка цепочки навигации).

Создание шаблона сайта

В процессе перевода шаблона от HTML-варианта к полноценному PHP-шаблону производится замена HTML-кода на вызов соответствующих PHP-функций, методов и программных компонентов.

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

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

Управление метаданными

 Как это выглядит

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

 Как это работает

Работа с метаданными осуществляется через управление свойствами страниц и разделов сайта. Изменение свойств страницы может быть выполнено при редактировании текущего документа встроенным визуальным HTML-редактором в режиме "Редактировать как HTML" (кнопка  верхней панели инструментов). В режиме визуального редактирования перейти на закладку «Свойства» и ввести значения соответствующих свойств страницы.

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

 Как это реализуется

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

<head>

<?$APPLICATION->ShowMeta("keywords")?>

<?$APPLICATION->ShowMeta("description")?>

</head>

В результате работы функции в код страницы будет подставлен следующий HTML-код (пример):

<meta name="keywords" content="1с-битрикс, CMS, PHP, bitrix, система управления контентом" />

<meta name="description" content="1С-Битрикс: Управление сайтом" />

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

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

Установка кодировки страницы

 Как это выглядит

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

 Как это работает

Управление языками публичной части системы осуществляется из административного раздела отдельно для каждого сайта: Настройки – Настройки продукта – Сайты – Список сайтов. Для каждого сайта может быть указана индивидуальная кодировка, формат вывода даты и времени.

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

Рис. 2.1. Установка параметров языка для публичного раздела сайта

 Как это реализуется

Кодировка страниц определяется с помощью константы PHP, которая получает значение из настроек языка текущего сайта:

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?echo LANG_CHARSET?>">

</head>

Включение таблиц стилей

 Как это выглядит

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

Важным элементом при формировании таблицы стилей является создание названий стилей. Названия следует создавать для тех стилей из файла styles.css, которые планируется использовать при редактировании страниц в режиме HTML-редактора. Задавать названия стилей можно в визуальном режиме при редактировании шаблона на закладке Стили сайта.

Рис. 2.2. Создание описаний стилей в настройках шаблона сайта

Стили будут доступны в редакторе из выпадающего списка под именами, определенными в данной форме. Заданные здесь названия будут храниться в файле <идентификатор шаблона>/.styles.php (файл с именами стилей).

 Как это работает

Для настройки таблиц стилей служат закладки «Стили сайта» и «Стили шаблона» на странице редактирования шаблона дизайна.

Рис. 2.3. Управление таблицей стилей в настройках шаблона сайта

 Как это реализуется

Подключение таблиц стилей производится в области <head> пролога. Весь необходимый HTML код подставляется функцией:

<?$APPLICATION->ShowCSS();?>

Указанная функция выполняет подключение файлов стилей styles.css, template_styles.css текущего шаблона, всех дополнительных стилей, определенных для данной страницы функцией SetAdditionalCSS(), стилей компонентов, используемых на странице.

Использование функции ShowCSS() без параметров произведет подключение стилей в следующем виде:



<LINK href="/bitrix/templates/three_columns/styles.css" type="text/css" rel="STYLESHEET" />

<LINK href="/bitrix/templates/three_columns/template_styles.css" type="text/css" rel="STYLESHEET" />

При этом стили, которые подключаются с использованием SetAdditionalCSS(), будут включены в код страницы с использованием require().

Визуальный редактор страниц подключает styles.css для использования.

Визуальный редактор шаблона подключает template_styles.css и styles.css для использования.

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

Настройка цепочки навигации

 Как это выглядит

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

Начиная с версии 6.0, навигационная цепочка подключается в шаблоне отдельным компонентом  Навигационная цепочка (bitrix:breadcrumb). Как и для всех компонентов версии 2.0, для данного компонента можно создавать неограниченного число шаблонов внешнего вида.

Рис. 2.4. Цепочка навигации

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

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

 Как это работает

По умолчанию в качестве ссылки на раздел в цепочке навигации используется заголовок раздела. Значение заголовка сохраняется в файле .section.php соответствующего раздела.

Изменение заголовка раздела может быть выполнено в форме настройки свойств папки соответствующего раздела (кнопка  на административной панели), либо непосредственным редактированием файла .section.php.

Пример файла .section.php:

<?

$sSectionName = "Главная страница";

?>

 Как это реализуется

Шаблон показа навигационной цепочки определяется шаблоном компонента  Навигационная цепочка (bitrix:breadcrumb). Этот шаблон рекомендуется копировать в нужный шаблон сайта средствами системы (используя кнопку  панели компонента в режиме редактирования сайта) и затем редактировать его под конкретные требования.

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

Шаблон навигационной цепочки в Демо-сайте состоит из таблицы стилей и самого шаблона. Файл template.php:

<?

if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

//delayed function must return a string

if(empty($arResult))

               return "";

$strReturn = '<ul class="breadcrumb-navigation">';

for($index = 0, $itemSize = count($arResult); $index < $itemSize; $index++)

$strReturn .= '</ul>';

return $strReturn;

?>

Компонент навигационной цепочки подключается в виде кода следующим образом:

<div id="navigation"><?$APPLICATION->IncludeComponent(

               "bitrix:breadcrumb",

               "",

               Array(

                              "START_FROM" => "0",

                              "PATH" => "",

                              "SITE_ID" => ""

               )

);?> </div>

Ниже приведен пример добавления элементов в навигационную цепочку с использованием функции AddChainItem():

<?

//---Первым параметром функции AddChainItem() задается название,

//---которое будет показано в навигационной цепочке, вторым параметром задается

//---ссылка для перехода.

//---Значения параметров могут быть как статическими, так и динамическими.

//---в приведенном примере название раздела задано статической величиной, а

//---ссылка формируется динамически.  

$APPLICATION->AddChainItem("Детальная информация о товаре", "catalog.php?BID=".$arIBlock["ID"]."&ID=".$arSection["ID"]);

//---В приведенном ниже примере обе величины формируются динамически.

//---В качестве названия подставляется текущее значение раздела каталога.

$APPLICATION->AddChainItem($arSection["NAME"], "catalog.php?BID=".$arIBlock["ID"]."&ID=".$arSection["ID"]);

?>

Для того чтобы выводить в навигационную цепочку название текущей страницы, необходимо вставить вызов функции AddChainItem() в файле footer.php, т.е. после вывода содержимого рабочей области.

<?$APPLICATION->AddChainItem($APPLICATION->GetTitle());?>

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

if (strlen($LINK)>0)

               $sChainBody .= "<a href=\"".$LINK."\" class='".$strclass."'>".$TITLE."</a>";

else

               $sChainBody .= "<font class='".$strclass."'>".$TITLE."</font>";

Показ навигационной цепочки может быть отключен на определенных станицах или в определенном разделе сайта. Для этого для страницы или папки необходимо задать свойство с кодом: not_show_nav_chain.

На выбранных страницах или в заданных разделах сайта следует установить значение данного свойства равным Y.

Установка заголовка документа

 Как это выглядит

Заголовок документа выводится в верхней части браузера и в центральной части страницы документа.

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

Рис. 2.6. Вывод заголовка в содержательной части документа

 Как это работает

Изменение заголовка документа может быть выполнено при редактировании документа встроенным визуальным HTML-редактором в режиме "Редактировать как HTML" (кнопка  административной панели). Заголовок документа задается в поле «Заголовок страницы».

Заголовок страницы также может быть изменен в режиме редактирования документа как «Текст» или при непосредственном редактировании HTML-кода документа.

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

 Как это реализуется

Задание заголовка может выполняться в любом месте страницы. Стандартно, заголовок страницы вставляется до вызова основного пролога документа следующим образом:

<?

//---Установка статического заголовка

$APPLICATION-> SetTitle("О компании");

//---Установка динамического заголовка. В качестве заголовка страницы

//---используется имя информационного блока для заданного $ID.

$arIBlock = GetIBlock($ID, "news")

$APPLICATION->SetTitle($arIBlock["NAME"]);

… ?>    

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

Вывод заголовка производится заданием следующего кода в шаблоне дизайна:

<?$APPLICATION->ShowTitle()?>

Приведенный код размещается в области <head> основного пролога:

<head><title><?$APPLICATION->ShowTitle()?></title></head>

и в области <body> на месте вывода заголовка документа:

<?$APPLICATION->ShowTitle(false)?>

Параметр false в последнем случае указывает, что для установки заголовка не нужно проверять значение свойства title, т.е. используется стандартный заголовок, установленный с использованием функции SetTitle().

Подключение административной панели

 Как это выглядит

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

Рис. 2.7. Административная панель

 Как это работает

Панель инструментов разделена на три закладки:

Публичный раздел. Просмотр публичного раздела сайта;

Редактировать сайт. С помощью этой закладки возможен  переход к режиму отображения компонентов, включаемых областей. С помощью иконок, расположенных в верхнем левом углу включаемой области, можно перейти к управлению выбранным элементом непосредственно из публичного раздела;

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

С каждой кнопкой панели инструментов связан определенный раздел административной части системы.

Вот неполный перечень функций доступных из административной панели (дополнительно  доступны кнопки для перехода к редактированию документов через модуль «Документооборота» и для управления содержимым информационных блоков):

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

Свойства текущей папки. Переводит в диалог для управления свойствами папки текущего раздела сайта. Можно задать/изменить заголовок раздела, используемый для построения навигационной цепочки.

Создание нового документа. Переводит в режим создания нового документа (страницы сайта) в текущем разделе сайта.

Редактирование текущей страницы. Позволяет модифицировать текущую страницу сайта с помощью визуального HTML редактора.

Завершение сеанса.

 Как это реализуется

Код для включения административной панели в верхней части сайта задается сразу после тега <body> перед началом первой таблицы.

<?

$APPLICATION->ShowPanel();

?>

Отдельные модули могут добавлять в панель свои кнопки (например, модуль «Документооборота» и модуль «Информационных блоков»).

Также пользователь может самостоятельно добавить кнопки в панель.

Добавление может быть выполнено несколькими способами:

§      изменением файла          
/bitrix/php_interface/include/add_top_panel.php.
Функция $APPLICATION->ShowPanel(); производит проверку наличия указанного файла и выводит в панель описанные в нем кнопки.

§      использованием в скрипте показа функции CIblock::ShowPanel(), в случае вывода дополнительных кнопок для модуля «Информационных блоков». Количество кнопок может варьироваться, например, в зависимости от того выполняется ли вывод списка элементов информационного блока или детальный показ информации по одному элементу. Компоненты информационных блоков имеют специальную опцию, определяющую, добавлять или нет кнопки в административную панель.

Размещение рекламных областей

 Как это выглядит

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

Рис. 2.8. Пример рекламной области

 Как это работает

Заведение типов рекламы и  добавление конкретных рекламных элементов производится через административный интерфейс в  разделе Сервисы – Реклама.  Название типа рекламного блока задается администратором произвольно, и будет использоваться для выбора конкретной рекламы. Например, для верхней рекламы может быть установлен тип TOP, TOP1 и т.п.

Рис. 2.9. Управление типами рекламы на сайте

Быстрый доступ к управлению соответствующим рекламным баннером (или списком баннеров выбранной рекламной области) можно выполнить по нажатию на иконку   «Редактировать данный баннер» (или  «Отфильтрованный список баннеров»), отображаемую непосредственно рядом с баннером в режиме показа редактируемых областей.

Рис.2.10. Форма добавления рекламы определенного типа

 Как это реализуется

Размещение рекламных областей осуществляется двумя способами:

С помощью компонента  Баннер (bitrix:advertising.banner). В его настройках определяется тип баннера.

 Обратите внимание! Данный компонент не учитывает таргетинг по ключевым словам. Если необходимо, то используйте функцию $APPLICATION->ShowBanner().

<?

//---Пример размещения рекламной области с использованием функции $APPLICATION->ShowBanner().

//---Производится выбор любого типа:

//---TOP, BOTTOM, COUNTER,… (первый параметр функции) 

//---Могут быть использованы как предустановленные, так и задаваемые пользователем типы.

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

$APPLICATION->ShowBanner("LEFT", '<div align="center">', '<br></div><br>');

?>

Показ рекламы на странице осуществляется в зависимости от набора ключевых слов баннера и страницы сайта, если вывод рекламы осуществлен с помощью функции $APPLICATION->ShowBanner().

Ключевые слова баннера могут быть заданы как для отдельного баннера, так и для рекламного контракта  в целом.

Ключевые слова страницы сайта разделяются на обязательные (required) и желательные (desired).  Более подробная информация представлена в руководстве «Управление рекламой с помощью ключевых слов» и документации продукта.

Обратите внимание, что по умолчанию, если в коде страницы не установлено каких-либо ключевых слов для рекламы, считается что функция CAdvBanner::SetDesiredKeywords использует в качестве параметра значение свойства страницы adv_desired_target_keywords. Если значение данного свойства не задано, то в качестве параметра функции используется значение свойства keywords.

Функция CAdvBanner::SetDesiredKeywords вызывается автоматически в момент сборки страницы с указанными выше параметрами, ее не нужно дополнительно вызывать в файле header.php, если нет необходимости переопределить ключевые слова для показа рекламы.

Настройка меню

 Как это выглядит

Любое меню на сайте строится на основе двух составляющих:

§      массива данных, редактируемых в административном разделе (в поставку входят демонстрационные меню);

§      шаблона внешнего представления меню.

Массив данных определяет состав меню, задает названия и ссылки для всех пунктов меню. Массив данных меню храниться в файле .<тип меню>.menu.php в папке соответствующего раздела сайта. При отображении в Менеджере файлов данному файлу автоматически присваивается имя Меню типа «<тип_меню>».

При использовании компонентов 2.0 - шаблон меню – это шаблон компонента меню, определяющий внешний вид меню.

Для настройки шаблона в HTML-коде необходимо выделить повторяющиеся части меню (рис. 2.11). Например, для горизонтального меню – это ячейки таблицы, а для вертикального – строки.

Рис. 2.11. Выделение меню.

Задача формирования меню включает:

§      выделение HTML элементов для построения меню,

§      создание шаблонов меню,

§      включение (вызов) функции показа меню в общем шаблоне ("прологе" и "эпилоге"),

§      заполнение меню в соответствии со структурой сайта.

При выделении области верхнего меню нужно обратить внимание на повторяющиеся элементы: пункты меню и разделители. В примере, приведенном на рисунке 2.11, повторяющимися элементами являются  ячейки таблицы (2). При выделении области левого меню повторяющимися элементами будут строки таблицы.

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

Рис.2.12 Элементы меню.

 Как это работает

Управление меню каждого раздела производится через административный интерфейс. Для редактирования меню раздела можно найти соответствующий файл в Менеджере файлов либо использовать кнопку "Редактировать пункты меню" (), расположенную рядом с соответствующим меню в режиме показа включаемых областей.

Одному разделу сайта могут соответствовать несколько меню различных типов: верхнее, левое, нижнее и т.п. В самом общем случае на сайте существует одно "верхнее меню", которое соответствует самому верхнему уровню и подключается во всех разделах. Также в системе обычно используется – "левое" (или "правое") меню второго уровня, которое определяет пункты для документов и подразделов данного раздела (директории). 

Типы меню задаются из административного раздела в секции Настройки – Настройки модулей – Управление структурой. Для каждого сайта в системе может быть задан свой набор типов меню. Например, в поставке продукта для обоих сайтов в системе заданы два типа меню:

§      Левое меню – тип "left";

§      Верхнее меню – тип "top".

Рис. 2.13. Задание типов меню.

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

Для хранения данных для каждого типа меню создается отдельный файл. Например, для хранения данных левого меню текущего раздела - .left.menu.php, а .top.menu.php для верхнего меню.

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



Рис. 2.14. Упрощенный режим редактирования меню.

В расширенном режиме для управления доступны следующие данные:

§     название пункта меню;

§     ссылка для перехода;

§     набор дополнительных ссылок, которые соответствуют этому же пункту меню. В данном поле задается набор ссылок на страницы, при переходе на которые будет также подсвечиваться данный пункт меню. Например, для того, чтобы при просмотре любой страницы раздела «Новости компании» подсвечивался пункт меню Новости компании, в данном поле нужно указать ссылку на папку, содержащую все страницы раздела (или перечислить необходимые страницы): /about/news/.

§     сортировка - определяет положение пункта меню в общем списке: чем меньше значение, тем выше будет показан элемент;

§     условия показа. Например, позволяет внести ограничения на показ данного пункта меню пользователям  с определенными правами доступа;

§     дополнительные параметры – набор произвольных параметров, которые могут быть обработаны в шаблоне показа меню и представлены соответствующим образом. Например, если пункт меню является заголовком секции, это может быть указано в параметрах пункта так: название параметра  - SEPARATOR, значение  - “Y”. При разработке шаблона можно проверять значение этого параметра и при показе выделять данный пункт меню разделителем.

Рис. 2.15 Расширенный режим редактирования меню.

Все данные, которые заносятся через административный интерфейс, будут сохранены в папке соответствующего раздела сайта в файле .left.menu.php для левого меню и .top.menu.php для верхнего меню соответственно. Файл содержит массив значений для всех элементов меню.

Файлы размещаются в тех разделах (директориях), где требуется их показ. Если для данного раздела не задан соответствующий файл меню, система производит поиск файла на уровень выше. 

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

Есть возможность выводить в меню различные разделы не физического, а логического уровня. Например, в поставку продукта включен системный компонент, выводящий разделы инфоблоков в левое меню (Пункты меню bitrix:menu.sections) и приведен пример реализации на сайте.

 Как это реализуется

Для размещения меню на сайте используется компонент  Меню (bitrix:menu). В его настройках указывается шаблон, тип меню, уровень вложенности и т.д.

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

Все системные шаблоны меню хранятся в папке

/bitrix/components/bitrix/menu/templates/.

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

* - для быстрого перехода к редактированию шаблона компонента.

 - для перехода к редактированию css-файла компонента.

Начиная с версии 6.0 продукта, шаблон меню представляет собой цикл, строящий последовательно пункты меню, учитывая параметры компонента.

Вызов меню из основного шаблона производится размещением компонента  Меню (menu), который подключается в виде кода следующим образом:

//Подключение верхнего многоуровневого меню

<?$APPLICATION->IncludeComponent(

               "bitrix:menu",

               "horizontal_multilevel",

               Array(

                              "ROOT_MENU_TYPE" => "top",

                              "MAX_LEVEL" => "3",

                              "CHILD_MENU_TYPE" => "left",

                              "USE_EXT" => "Y"

               )

);?>


Добавление разделов инфоблоков в меню

 Как это выглядит

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

Рис. 2.16. Левое меню.

 Как это работает

При переходе к редактированию данного меню средствами системы можно изменить только первые два пункта (Авторы и Рецензии), созданные обычным способом. Пункты разделов инфоблока будут меняться автоматически при изменении структуры инфоблока.

 Как это реализуется

Для реализации упомянутого механизма необходимо в настройках компонента меню  Меню (bitrix:menu) проверить наличие установленной опции Подключать файлы с именами вида .тип_меню.menu_ext.php (USE_EXT). Если данная опции отмечена, то при каждом построении меню система проверяет наличие файла .тип_меню.menu_ext.php в текущей директории. Если такой файл найден, то он будет выполнен и построение меню совершится с его участием.

Рассмотрим реализацию описанного механизма на примере. Пункты меню Авторы и Рецензии создадим обычным способом через режим редактирования сайта. Далее используем компонент  Пункты меню (bitrix:menu.sections) в файле .left.menu_ext.php:

<?

if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

global $APPLICATION;

$aMenuLinksExt = $APPLICATION->IncludeComponent(

               "bitrix:menu.sections",

               "",

               Array(

                              "ID" => $_REQUEST["ELEMENT_ID"],

                              "IBLOCK_TYPE" => "books",

                              "IBLOCK_ID" => "30",

                              "SECTION_URL" => "/e-store/books/index.php?SECTION_ID=#ID#",

                              "CACHE_TIME" => "3600"

               )

);

$aMenuLinks = array_merge($aMenuLinks, $aMenuLinksExt);

?>

В данном примере строится массив разделов инфоблоков $aMenuLinksExt с помощью компонента Пункты меню. Далее происходит объединение двух массивов: $aMenuLinks (массив, возвращающий пункты стандартного левого меню) и $aMenuLinksExt в один. И потом при построении меню с помощью компонента Меню (bitrix:menu) строится левое меню с использованием файла .left.menu_ext.php.

Настройка дополнительных редактируемых областей

 Как это выглядит

Шаблоны документов и шаблоны включаемых областей являются обыкновенными HTML-документами, которые содержат предопределенные элементы форматирования: таблицы, картинки, стили и т.п. Созданные шаблоны копируются в папки /page_templates/ либо для всех шаблонов (/bitrix/templates/.default/page_templates/), либо для каждого шаблона в отдельности (/bitrix/templates/<идентификатор шаблона>/page_templates/).

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

§      включаемая область для конкретного файла – будет выводиться только при просмотре текущего документа;

§      включаемая область для конкретной секции – будет выводиться для всех документов в данном разделе (секции);

§      другие типы включаемых областей.     

Рис. 2.17. Пример включаемой области.

 Как это работает

Включаемые области сохраняются в отдельных файлах с некоторым суффиксом, например, "_inc". Для конкретного файла этот суффикс добавляется к имени файла. В поставляемом дистрибутиве продукта включаемый файл для раздела (секции) сайта сохраняется с именем sect_inc.php. Количество редактируемых областей для каждого файла или раздела может быть расширено. При этом потребуется некоторая модификация шаблона. А именно в требуемые места в шаблоне сайта вставьте и настройте компонент  Вставка включаемой области.

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

Рис. 2.18. Добавление включаемой области из публичного раздела

После нажатия будет запущен тот режим создания страницы (HTML, PHP или текст), который установлен в настройках компонента. Страница, отображаемая во включаемой области может иметь любое содержание.

При создании включаемых областей можно выбрать любой из имеющихся шаблонов показа для этих областей. Список шаблонов заполняется в файле .content.php. Этот файл и все шаблоны страниц размещены в разделе /bitrix/templates/.default/page_templates/.

Перечисленные в файле .content.php шаблоны будут доступны при создании новой страницы в режиме визуального HTML редактора в виде выпадающего списка.

 Как это реализуется

Для выделения места в шаблоне дизайна сайта для включаемой области можно использовать специальный компонент  Вставка включаемой области (bitrix:main.include).

Например, настройки компонента могут иметь вид:

Рис. 2.19. Параметры компонента вставка включаемой области

Компонент имеет следующие особенности:

§     Если в настройках компонента выбрано выводить включ. область «для страницы», то созданный в дальнейшем файл для включаемой области будет показан только на текущей странице. Если «для раздела», то файл будет показан для всего раздела. Формат имени файла включаемой области также определяется настройками данного компонента;

§     В поле «суффикс имени файла включаемой области (по умолчанию inc)» указывается суффикс, который будет добавляться ко всем создаваемым в дальнейшем включаемым областям и страницы с таким суффиксом будут восприниматься как включаемые области.;

§     В поле «Режим редактирования по умолчанию» выбирается один из трех стандартных режимов редактирования (HTML, PHP, как текст). Режим редактирования, выбранный в данном поле, будет использоваться при переходе к редактированию включаемой области страницы/раздела из публичной части.

§     Если установлен вариант показывать включаемую область для раздела, то доступна опция «Рекурсивное подключение включаемых областей». При установленной опции включаемые области разделов будут подключаться рекурсивно, т.е. если в папке более низкого уровня есть своя включаемая область, то она будет показана. Если же текущий раздел не имеет своей включаемой области, то рекурсивно до корня сайта будут проверяться все разделы до самого верхнего и будет выведена первая встретившаяся включаемая область;

§     Также в настройках компонента устанавливается шаблон страницы по умолчанию.

Для подключения произвольных файлов в шаблоне дизайна сайта с последующей возможностью их редактировать средствами системы используется функция IncludeFile(). Например, код подключения файла с авторскими правами имеет следующий вид:

<div id="footer"><?$APPLICATION->IncludeFile(

$APPLICATION->GetTemplatePath("include_areas/copyright.php"),

                                             Array(),

                                             Array("MODE"=>"html")

);?> </div>


Работа с компонентами

Часто используемые области на сайте могут быть оформлены как программные компоненты. Практически любой программный скрипт может быть представлен компонентом.

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

Компоненты централизованно хранятся в одной папке (/bitrix/components/). Это обеспечивает большую целостность и понятность структуры сайта. Папка доступна для обращений, а значит, компонент и его шаблоны могут легко подключать свои дополнительные ресурсы. Компоненты определяются пространством имен. Так, системные компоненты, поставляемые с продуктом и обновляемые системой обновлений, относятся к пространству имен bitrix и располагаются в каталоге /bitrix/components/bitrix/.

* Обратите внимание! Изменять содержимое папки  /bitrix/components/bitrix/ не рекомендуется!

Пользовательские компоненты рекомендуется размещать в своей папке, например, /bitrix/components/my_folder/ либо в разделе /bitrix/components/.

Компоненты версии 2.0 делятся на простые (одностраничные) и комплексные (многостраничные). Простые компоненты создают какую-либо область на одной странице (например, лента новостей, фотография детально, таблица курсов валют и т.д.). Комплексные компоненты создают разделы сайта. Например, компонент каталога создает на сайте весь раздел каталога: и список каталогов, и список групп, и страницы товаров. То есть, комплексный компонент состоит из набора страниц при визуальном просмотре сайта, но из одной страницы на физическом уровне.

Имена компонентов имеют вид «идентификатор1.идентификатор2....». Например, «catalog», «catalog.element», «catalog.section.list» и т.п. Рекомендуется строить имена иерархически, начиная с общего понятия и заканчивая конкретным назначением компонента. Например, компонент, показывающий список товаров данной группы, может называться «catalog.section».

Структура компонентов версии 2.0 значительно отличается от предыдущей версии. Папка компонента содержит следующие подпапки и файлы:

§      подпапку templates, в которой расположены шаблоны вывода (отображения) компонента. Подпапка templates может отсутствовать, если у компонента нет шаблонов вывода.

§      файл component.php, который содержит логику (код) компонента. Этот файл должен всегда присутствовать в папке компонента.

§      файл .parameters.php, который содержит описание входных параметров компонента для редактора. Если у компонента есть входные параметры, то этот файл должен присутствовать в папке компонента.

§      другие подпапки и файлы:

o     help с файлами помощи по компоненту;

o     lang с языковыми файлами;

§      папку images;

§      файл .description.php с названием, описанием компонента и его положением в дереве компонентов в редакторе и т.д.

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

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

Рис. 2.18. Визуальный редактор.

Настройки визуального редактора, доступные по кнопке , позволяют выбрать версию компонентов для работы. Компоненты версии 1.0 также могут использоваться.

Система позволяет управлять параметрами компонента из публичной части в режиме редактирования сайта. Для компонентов отображаются панели с различным набором кнопок. Например, компонент Список новостей (bitrix:news.list) в режиме редактирования сайта может иметь такую панель:  

 

Рис. 2.19. Кнопки управления параметрами компонента.

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

Рис. 2.20. Форма редактирования параметров компонента.

* - копирование шаблона компонента. Кнопка отображается всегда. По нажатии появляется диалоговое окно, где указывается имя шаблона компонента, и в какой шаблон сайта осуществить копирование.

Рис. 2.21. Форма копирования шаблона компонента.

Шаблон компонента, скопированный в один из шаблонов сайта, называется пользовательским. Его можно изменять под конкретные требования.

* - редактирование текущей страницы шаблона. Кнопка отображается, если применен пользовательский шаблон. По нажатии происходит переход к редактированию страницы шаблона.

 – редактирование CSS-файла шаблона. Кнопка отображается, если применен пользовательский шаблон.

 – очистка кеша компонента.

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

Например, вызов компонента Список новостей (bitrix:news.list) в виде кода имеет следующий вид:

§      <?$APPLICATION->IncludeComponent(

§               "bitrix:news.list",

§               "template_my",

§               Array(

§                              "DISPLAY_DATE" => "Y",

§                              "DISPLAY_NAME" => "Y",

§                              "DISPLAY_PICTURE" => "Y",

§                              "DISPLAY_PREVIEW_TEXT" => "Y",

§                              "IBLOCK_TYPE" => "news",

§                              "IBLOCK_ID" => "33",

§                              "NEWS_COUNT" => "4",

§                              "SORT_BY1" => "ACTIVE_FROM",

§                              "SORT_ORDER1" => "DESC",

§                              "SORT_BY2" => "SORT",

§                              "SORT_ORDER2" => "ASC",

§                              "FILTER_NAME" => "",

§                              "FIELD_CODE" => array(0=>"",1=>"",),

§                              "PROPERTY_CODE" => array(0=>"",1=>"",),

§                              "DETAIL_URL" => "/content/news/index.php?news=#ELEMENT_ID#",

§                              "PREVIEW_TRUNCATE_LEN" => "0",

§                              "ACTIVE_DATE_FORMAT" => "d.m.Y",

§                              "DISPLAY_PANEL" => "N",

§                              "SET_TITLE" => "N",

§                              "INCLUDE_IBLOCK_INTO_CHAIN" => "Y",

§                              "ADD_SECTIONS_CHAIN" => "Y",

§                              "HIDE_LINK_WHEN_NO_DETAIL" => "N",

§                              "PARENT_SECTION" => "",

§                              "CACHE_TYPE" => "A",

§                              "CACHE_TIME" => "3600",

§                              "CACHE_FILTER" => "N",

§                              "DISPLAY_TOP_PAGER" => "N",

§                              "DISPLAY_BOTTOM_PAGER" => "N",

§                              "PAGER_TITLE" => "Новости",



§                              "PAGER_SHOW_ALWAYS" => "N",

§                              "PAGER_TEMPLATE" => "",

§                              "PAGER_DESC_NUMBERING" => "N",

§                              "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000"

§               )

§      );?>

Ниже описаны некоторые особенности работы с основными компонентами, поставляемыми в составе дистрибутивного комплекта.

Модуль подписки

Компонент «Форма подписки»

 Как это выглядит

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

Рис.2.22. Форма подписки

 Как это работает

Управление рубриками подписки, списком подписчиков и  рассылкой  сообщений осуществляется из административного раздела: Сервисы – Рассылки.

Администратор сайта заводит различные рубрики подписки. Посетители сайта подписываются на них. Затем администратор сайта создает рассылки, которые отправляются по списку подписчиков.

 Как это реализуется

Форма подписки реализуется компонентом  Форма подписки (bitrix:news.list), расположенным в разделе Сервисы – Рассылки в дереве компонентов в редакторе.

Системный шаблон этого компонента находится в файле:

/bitrix/components/bitrix/subscribe.form/templates/.default/template.php

По умолчанию компонентом используется системный шаблон .default.

Включение формы подписки выполняется следующим образом:

<?$APPLICATION->IncludeComponent(

               "bitrix:subscribe.form",

               "",

               Array(

                              "USE_PERSONALIZATION" => "Y",

                              "PAGE" => "#SITE_DIR#personal/subscribe/subscr_edit.php",

                              "SHOW_HIDDEN" => "N",

                              "CACHE_TYPE" => "A",

                              "CACHE_TIME" => "3600"

               )

);?>

Компонент «Страница рассылок»

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

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

Компонент «Страница редактирования подписки»

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

Модуль поиска

Компонент «Форма поиска»

 Как это выглядит

Посетителям сайта доступна стандартная форма поиска:

Рис. 2.23. Стандартная форма поиска.

После выполнения запроса на поиск посетитель сайта будет перенаправлен на страницу с результатами поиска.

 Как это работает

Поиск производится по статическим материалам, информационным блокам (новостям, каталогу, вакансиям и т.п.) форуму и блогам.

 Как это реализуется

Включение формы в основной шаблон показа выполняется включением компонента  Форма поиска (bitrix:search.form). В виде кода подключение этого компонента имеет вид:

<?$APPLICATION->IncludeComponent(

               "bitrix:search.form",

               "",

               Array(

                              "PAGE" => "#SITE_DIR#search/index.php"

               )

);?>

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

Компонент «Страница поиска»

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

Компонент «Облако тегов»

С помощью данного компонента осуществляется вывод ключевых слов (облака тегов).

Компонент «Форма ввода тегов»

Данный компонент служит для создания формы ввода тегов.


Главный модуль

Компонент «Форма авторизации»

 Как это выглядит

Стандартная форма авторизации позволяет посетителям сайта быстро ввести свои параметры входа и перейти в закрытые разделы при наличии соответствующих прав.

 Как это работает

Форма авторизации позволяет проверить права пользователя для доступа к определенным разделам и страницам сайта. Права доступа могут быть заданы для страниц сайта, разделов сайта и информационных блоков.

 Как это реализуется

Включение формы в основной шаблон показа производится с помощью компонента  Форма авторизации (bitrix:system.auth.form). В параметрах компонента определяется путь к странице регистрации, путь к странице профиля пользователя и шаблон компонента. Подключение данного компонента в виде кода имеет вид:

<?$APPLICATION->IncludeComponent(

               "bitrix:system.auth.form",

               ".default",

               Array(

                              "REGISTER_URL" => "/auth/",

                              "PROFILE_URL" => "/personal/profile/"

               )

);?>

Компонент «Панель переключения сайтов»

Выводится панель переключения сайтов. Включение панели в основной шаблон выполняется с помощью компонента  Выбор сайта (bitrix:main.site.selector), в настройках которого определяется шаблон компонента, список сайтов, тип и время кеширования. Подключение данного компонента в виде кода имеет вид:

<?$APPLICATION->IncludeComponent(

               "bitrix:main.site.selector",

               ".default",

               Array(

                              "SITE_LIST" => array(0=>"*all*",),

                              "CACHE_TYPE" => "A",

                              "CACHE_TIME" => "3600"

               )

);?>

Компонент «Карта сайта»

Компонент  Карта сайта (bitrix:main.map) предназначен для вывода карты сайта в публичной части.  Настройки данного компонента позволяют установить шаблон компонента, тип и время кеширования, определить настройки внешнего вида карты сайта: ограничить уровень вложенности, указать количество колонок при выводе карты сайта.

Компонент «Параметры пользователя»

Компонент  Параметры пользователя (bitrix:main.profile) предназначен для показа и редактирования информации профайла текущего пользователя.

Модуль статистики

Компонент «Таблица статистики»

 Как это выглядит

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

 Как это работает

Система сбора статистики позволяет собрать и обработать данные по посетителям сайта, рекламным кампаниям, хитам поисковиков, ссылающимся сайтам, сессиям и т.п.

 Как это реализуется

Включение таблицы статистики в основной шаблон показа выполняется следующим образом:

<?$APPLICATION->IncludeComponent(

               "bitrix:statistic.table",

               "",

               Array(

                              "CACHE_TYPE" => "A",

                              "CACHE_TIME" => "20",

                              "CACHE_FOR_ADMIN" => "N"

               )

);?>

Модуль информационных блоков

 Как это выглядит

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

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

 Как это работает

Управление информационными блоками осуществляется из административного раздела в секции Контент – Информационные блоки.

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

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

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

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

 Как это реализуется

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

Все компоненты, работающие с модулем информационных блоков, выведены в разделе Контент дерева компонентов в редакторе. Далее в подразделах сгруппированы компоненты по своей функциональной направленности: Новости, Фотогалерея, Каталог, RSS, Валюты и т.д.

Пример организации показа новостей на сайте с помощью одностраничных компонентов

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

При создании нового информационного блока необходимо указать путь к странице показа списка элементов информационного блока (новостей), путь к странице со списком элементов раздела (если информационный блок содержит разделы) и путь к странице детального просмотра элемента (новости).

Указанные выше страницы должны быть созданы в структуре сайта. Например, для показа списка новостей /about/news/index.php, а для детального показа новости /about/news/detail.php.

Далее, на вновь созданной странице следует разместить соответствующие компоненты. Для страницы показа списка новостей в визуальном редакторе нужно перетащить на страницу иконку компонента «Список новостей (bitrix:news.list)»  из раздела Контент - Новости, а для страниц детального просмотра новости – иконку компонента «Новость детально (bitrix:news.detail)» .

Для того чтобы организовать экспорт новостей с этой страницы в RSS, в данном случае нужно вставить на страницу картинку RSS 2.0 и поставить на ней ссылку на некоторую страницу, например, /about/news/rss.php. Указанную страницу следует также создать средствами продукта: в визуальном редакторе разместить на ней компонент экспорта в RSS формате  RSS новости (экспорт).

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

Рис. 2.24.  Показ новостей со ссылкой на страницу экспорта новостей в формате RSS

Пример организации показа новостей на сайте с помощью комплексных компонентов

Для организации новостного раздела с помощью комплексных компонентов требуется создать только одну страницу и разместить на ней компонент  Новости (bitrix:news). После настройки его параметров и сохранении страницы новостной раздел в публичном разделе будет создан.

Модуль веб-форм

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

§      создается веб-форма в административном разделе сайта: Сервисы - Веб-формы - Настройка форм;

§      в публичной части сайта на некоторой странице в визуальном редакторе добавляется компонент  «Заполнение веб-формы (bitrix:form.result.new)»;

§      в настройках компонента выбираются название формы, а также названия страниц для показа списка результатов и редактирования результата веб-формы;

§      последовательно, средствами продукта добавляются указанные страницы и на них помещаются соответствующие компоненты и для всех компонентов выполняются соответствующие настройки. 

Также можно воспользоваться одним комплексным компонентом  Веб-форма (bitrix:form) для создания страниц заполнения формы, страницы со списком результатов и страницы редактирования результатов.

Модуль опросов

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

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

В настоящий момент компоненты разработаны для всех основных модулей системы, и список их будет пополняться как со стороны нашей компании, так и со стороны партнеров компании «1С-Битрикс».

Использование файлов языковых сообщений

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

Шаблон показа настраивается таким образом, что HTML-код является общим для всех языков, а все текстовые элементы в нем заменены на текстовые сообщения. Языковые сообщения хранятся отдельно в папке /bitrix/templates/<идентификатор_шаблона>/lang/ru/ для русского языка и, соответственно, в папке …../lang/en/ для английского языка (хранение языковых сообщений для других языков выполняется аналогично).

Например, языковые сообщения для редактируемой области с копирайтами (файл /bitrix/templates/<идентификатор шаблона>/include_areas/copyright.php) могут храниться  соответственно в файлах:

/bitrix/templates/<идентификатор_шаблона>/lang/ru/copyright.php

для русского интерфейса и в файле:

/bitrix/templates/<идентификатор_шаблона>/lang/en/copyright.php

для английского интерфейса.

Файл с языковыми сообщениями для русского языка выглядит следующим образом:

<?

$MESS ['SEARCH_TITLE'] = "Поиск";

?>

В файле

/bitrix/templates/<идентификатор_шаблона>/lang/ru/copyright.php  

языковые сообщения подключаются в самом начале:

<?

IncludeTemplateLangFile(__FILE__);

?>

В самом документе языковое сообщение вызывается следующим кодом (например, для кнопки «Копировать»):

<font class="copy"><?echo GetMessage("COPY");?></font>

Настройка продукта на техподдержку со стороны партнеров

Партнеры компании «1С-Битрикс» могут произвести некоторые изменения в административной части продукта.

Для того чтобы настроить сайт на техподдержку со стороны партнеров следует произвести следующие действия:

Изменение адреса сайта и ссылки на техподдержку в правом нижнем углу экрана административной части.

Создать файл /bitrix/php_interface/this_site_support.php, который будет содержать необходимый текст. Тогда будет подключаться именно он, а не стандартный текст.

Пример файла /bitrix/php_interface/this_site_support.php:

§      <a href="http://www.flowersweb.info"

§      class="pagebottomtext">www.flowersweb.info</a>&nbsp;&nbsp;

§      |&nbsp;&nbsp;<a

§      class="pagebottomtext"

§      href="http://www.flowersweb.info/support/">Техподдержка</a>

Встраивание логотипа или текста в левый нижний угол экрана (под меню) административной части.

Создать файл /bitrix/php_interface/this_site_logo.php, который будет содержать необходимый текст.

Если этот файл существует, то именно его содержимое будет показано.

Содержимое файла произвольно.

Изменение почтового адреса, на который направляются письма в техподдержку со страницы "Проверка сайта" (/bitrix/admin/site_checker.php)

Необходимо определить константы:

define("THIS_SITE_SUPPORT_EMAIL", "E-Mail системы техподдержки");

define("THIS_SITE_SUPPORT_CHARSET", "Кодировка").

Определять кодировку не обязательно, в этом случае она будет устанавливаться автоматически в "windows-1251" для русского языка и в "iso-8859-1" для остальных.

Определить константы можно в файлах:

/bitrix/php_interface/dbconn.php (подключается в самом начале)

или /bitrix/php_interface/after_connect.php (подключается после соединения с базой),

или /bitrix/php_interface/<код_сайта>/init.php (подключается после определения сайта, для определенного сайта).

Приложение 1. Рекомендации по подготовке HTML шаблона

Подготовка базового графического дизайна сайта должна проводиться с учетом дополнительных требований, которые накладываются использованием продукта "1С-Битрикс: Управление сайтом".

При подготовке графического дизайна следует заранее разметить линию раздела дизайна на "пролог" (header.php) и "эпилог" (footer.php);

Следует выделить основные элементы дизайна, для последующей модификации таблицы стилей: шрифты, цвета заливки и т.п.;

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

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

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

Рекомендуется производить подготовку шаблона с учетом последующей табличной сборки. Одновременно допускается использование слоев. 

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

Приложение 2. Настройка внешнего вида дополнительных элементов

Настройка сообщений об ошибках

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

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

/bitrix/php_interface/dbconn_error.php.

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

/bitrix/php_interface/dbquery_error.php.

Настройка файла, подключаемого при закрытии сайта

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

/bitrix/modules/main/include/site_closed.php

и поместите его в  /bitrix/php_interface/<язык>/

или в /bitrix/php_interface/include/

Настройка внешнего вида навигации постраничного просмотра

Постраничный показ информации организуется с использованием PHP  функции NavPrint() – функции вывода ссылок для постраничной навигации. Для управления внешним видом постраничной навигации могут быть использованы следующие параметры:

NavPrint($title, $show_allways=false, $StyleText="text", $template_path)

где:

$title – название выводимых элементов,

$show_allways – если значение параметра "false", то функция не будет выводить навигационные ссылки, если все записи умещаются на одну страницу. Если "true", то ссылки для постраничной навигации будут выводиться всегда,

$StyleText – CSS класс шрифта для вывода навигационных ссылок;

$template_path – путь к шаблону показа навигационных ссылок.