+7 (495) 223-46-50 +7 (812) 448-38-90 +7 (8636) 237-836 www.hostcms.ru info@hostcms.ru support@hostcms.ru HostCMS — удобство управления сайтом в любой точке мира. Система управления сайтом HostCMS v. 5 Руководство по интеграции дизайна 2011
2 Содержание Содержание ..................................................................................................................................................................2 Требования к квалификации пользователя HostCMS ...........................................................................4 Требования к квалификации разработчиков сайтов на базе HostCMS.....................................................4 Визуальный редактор .............................................................................................................................................5 Указание фона визуального редактора ..............................................................................................................5 Подстветка синтаксиса ..........................................................................................................................................5 Верхняя панель клиентского раздела ............................................................................................................6 Отладочная информация .......................................................................................................................................6 Просмотр XML в клиентском разделе ...............................................................................................................7 Просмотр SQL-запросов .........................................................................................................................................8 Основные принципы работы с XML/XSL .....................................................................................................8 Синтаксис XSL ...........................................................................................................................................................9 Общая структура XSL-документа .....................................................................................................................9 Шаблоны xsl:template match.................................................................................................................................10 Работа с атрибутами XML документа ..........................................................................................................11 Переменные (константы) ....................................................................................................................................12 Сортировка xsl:sort ................................................................................................................................................13 Условный оператор if.............................................................................................................................................14 Инструкция for-each ..............................................................................................................................................16 Инструкция choose .................................................................................................................................................16 Наиболее часто используемые XSLT-функции ...............................................................................................18 Пошаговое руководство по интеграции......................................................................................................19 Структура макетов и шаблонов.......................................................................................................................19 Именование XSL-шаблонов...................................................................................................................................20 Интеграция макета сайта .................................................................................................................................20 Классы и объекты в HostCMS ............................................................................................................................21 Заголовка страницы ............................................................................................................................................21 Описание страницы .............................................................................................................................................21 Ключевые слова страницы.................................................................................................................................21 Кодировка страницы ...........................................................................................................................................21 Подключение CSS-стилей ..................................................................................................................................22 Указание путей к изображениям и внешним файлам ................................................................................22 Подключение файлов HostCMS в макете сайта............................................................................................22 Общий вид блока в макете сайта .......................................................................................................23 Показ шаблона страницы в макете сайта.......................................................................................................23 Вывод текущего года для строки Copyright....................................................................................................24 Меню сайта ..............................................................................................................................................................24 Верхнее меню ........................................................................................................................................................24 Левое меню ............................................................................................................................................................26 Интернет-магазин ................................................................................................................................................28 Список разделов каталога товаров...................................................................................................................28 Горячие предложения.........................................................................................................................................30 Краткая корзина ...................................................................................................................................................32 Информационные системы ..................................................................................................................................34 Вывод анонсов новостей.....................................................................................................................................34 Метки информационных систем ......................................................................................................................36 Поиск.............................................................................................................................................................................38 Форма поиска в макете сайта ............................................................................................................................38 Ограничение поиска по определенным источникам контента ................................................................38 Если ссылки из результатов поиска ведут на другой сайт.......................................................................39 Опросы .........................................................................................................................................................................39 Добавления опросов на сайт................................................................................................................................39 Добавления блока опроса в макет сайта.........................................................................................................39 Структура сайта........................................................................................................................................................41 Работа с дополнительными свойствами структуры в XSL .....................................................................41 Создание страницы для отображения ошибки 403/404/503.....................................................................42 Copyright © 2005—2011 ООО «Хостмэйк»
3 Создание карты сайта..........................................................................................................................................43 Информационные системы...............................................................................................................................44 Работа с дополнительными свойствами информационных элементов ................................................44 Дополнительные свойства типа файл.............................................................................................................44 Работа с дополнительными свойствами групп информационной системы ........................................45 Внедрение информационной системы на сайт ..............................................................................................45 Создание экспорта RSS 2.0 записей из информационных систем ............................................................47 Навигационная цепочка — «Хлебные крошки» .....................................................................................49 Формы...........................................................................................................................................................................52 Добавление формы на сайт..................................................................................................................................52 Внедрение формы в макет или шаблон страницы ........................................................................................53 Проблемы при отправке формы .........................................................................................................................53 Пользователи сайта ...............................................................................................................................................54 Публикация личного кабинета ...........................................................................................................................54 Страница заказанных товаров ..........................................................................................................................54 Страница восстановления пароля ....................................................................................................................54 Страница регистрации/редактирования анкетных данных....................................................................55 Страница почтовых рассылок, на которые подписан пользователь .....................................................55 Реклама ........................................................................................................................................................................56 Размещение кода показа баннера на сайте .....................................................................................................56 Защита от показа баннера поисковым ботам..............................................................................................56 Контекстный показ баннеров.............................................................................................................................56 Контекстный показ баннера в зависимости от содержания страницы...................................................56 Контекстный показ баннера в зависимости от поискового запроса, по которому пользователь пришел на сайт .....................................................................................................................................................57 Создание страницы для учета нажатий на баннер.....................................................................................58 Интернет магазин ...................................................................................................................................................59 Работа с дополнительными свойствами товара в XSL..............................................................................59 Работа с дополнительными свойствами группы товаров в XSL.............................................................59 Платежная система WebMoney ........................................................................................................................59 Платежная система RBK Money .......................................................................................................................61 Платежная система ASSIST ...............................................................................................................................62 Автоматическое получение подтверждения оплаты ...................................................................................63 Платежная система Яндекс.Деньги .................................................................................................................63 Прием платежей через ROBOKASSA .................................................................................................................64 Обработчики платежных систем .....................................................................................................................65 Формирование страницы оплаты .....................................................................................................................68 Обработка уведомления платежной системы об оплате .........................................................................69 Формирование страницы оплаты.....................................................................................................................70 Обработка уведомления платежной системы об оплате ............................................................................71 Публикация интернет-магазина на сайте ....................................................................................................72 Автоматическое построение прайс-листа для магазина..........................................................................75 Вывод информации о продавцах..........................................................................................................................76 Сравнение товаров .................................................................................................................................................76 Экспорт в Яндекс.Маркет....................................................................................................................................76 Кэширование ............................................................................................................................................................77 Управление блоками кэширования .....................................................................................................................77 Сохранение значения в кэше.................................................................................................................................77 Извлечение информации из кэша........................................................................................................................78 Организация страниц для печати ..................................................................................................................79 Использование кода подтверждения для защиты от автоматического заполнения форм (Captcha) ......................................................................................................................................................................80 Импорт RSS-каналов .............................................................................................................................................82 Восстановление пароля администратора в случае его утери ...........................................................84 Очищение списка неудачных попыток авторизации ..........................................................................85 Предопределенные константы ........................................................................................................................85 Полезные константы для управления работой системы ...................................................................86 Настройка файла main_classes.php...............................................................................................................88 Copyright © 2005—2011 ООО «Хостмэйк»
4 Требования к квалификации пользователя HostCMS Пользователю системы управления для управления сайтом специальные знания не требуются, достаточно основных навыков работы с прикладным программным обеспечением. Требования к квалификации разработчиков сайтов на базе HostCMS Разработчику сайтов на базе системы управления HostCMS необходимо владеть базовыми знаниями HTML и PHP. Желательно обзорное знание XML/XSL технологий (более подробные требования к XSL-шаблонам размещены ниже), каждый модуль поставляется с демонстрационными шаблонами с комментариями в коде. С внедрением в HostCMS 4.0 нового модуля «Типовые динамические страницы», требования к квалификации разработчиков сайтов на базе HostCMS значительно снижены. Copyright © 2005—2011 ООО «Хостмэйк»
5 Визуальный редактор Система управления сайтом HostCMS для визуального редактирования информации использует редактор TinyMCE (подключаемый как внешний модуль), разработанный Moxiecode Systems AB и распространяемый под LGPL лицензией. Исходные коды визуального редактора TinyMCE размещены в директории /admin/wysiwyg/. Информация с сайта производителя о редакторе (http://tinymce.moxiecode.com/): TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate into other CMS systems. Указание фона визуального редактора Визуальный редактор применяет фон и стиль текста из CSS-стилей макета. В некоторых случаях при особенностях верстки желательно указать цвет фона и стиль текста, для этого можно воспользоваться следующим стилем, который необходимо добавить в CSS для требуемого макета: .mceContentBody { background: white; color: #000; } Подстветка синтаксиса Система управления сайтом HostCMS для подсветки редактируемого кода использует редактор CodePress (подключаемый как внешний модуль), распространяемый под LGPL лицензией. Исходные коды CodePress размещены в директории /admin/js/codepress/. Copyright © 2005—2011 ООО «Хостмэйк»
6 Верхняя панель клиентского раздела Панель выводится в клиентском разделе сайта для авторизированных в центре администрирования пользователей. Верхняя панель позволяет выполнять быстрые действия из клиентского раздела и может содержать следующие кнопки: редактировать структуру сайта; редактировать макет; редактировать шаблон страницы; редактировать документ; редактировать информационную систему; редактировать магазин; переход в раздел администрирования; отладочная информация; просмотр SQL-запросов; отобразить XML; выход из системы управления. За отображение панели отвечает константа ALLOW_PANEL, для отключения панелей в клиентском разделе установите константе значение false. Отладочная информация Выводится с помощью кнопки «Отладочная информация» верхней панели клиентского раздела и позволяет провести анализ общего быстродействия сайта и сервера, а также уровень интеграции. Обратите внимание, время инициализации модулей, время выбора БД, время выполнения запросов и время обработки XML может частично или полностью входить во время генерации содержания страницы. Copyright © 2005—2011 ООО «Хостмэйк»
7 Просмотр XML в клиентском разделе Для просмотра XML-данных, сгенерированных системой на странице сайта, необходимо в клиентском разделе на верхней панели нажать на кнопку «Отобразить XML». Чтобы скрыть XML необходимо повторно нажать на кнопку на верхней панели. В отчет по каждой генерации XML выводится наименование XSL-шаблона, с помощью которого было произведено XSLT-преобразование, ссылка на быстрое редактирование XSL-шаблона, ссылка на просмотр XML-данных, время обработки XML данных и размер XML в байтах: Пример окно с XML-данными: Copyright © 2005—2011 ООО «Хостмэйк»
8 Просмотр SQL-запросов Выводится с помощью кнопки «SQL-запросы» верхней панели клиентского раздела и позволяет провести анализ SQL-запросов и их времени выполнения. Кроме просмотра запросов возможен вывод анализа выполнения запроса. Внимание! Включение вывода запросов и включение анализа запросов может увеличивать время генерации страницы, поэтому должно использоваться только на этапах интеграции сайта или отладки его работы. За отображение кнопки просмотра SQL-запросов отвечает константа ALLOW_SHOW_SQL, для отображения кнопки в клиентском разделе установите константе значение true, за отображение анализа запросов с помощью EXPLAIN отвечает константа ALLOW_EXPLAIN, для отображения анализа запросов установите константе значение true. Основные принципы работы с XML/XSL Использование стилевых таблиц (XSL) позволяет обеспечить независимое от конкретного устройства вывода отображение XML-документов. Использование XSL-шаблонов с одними и теми же XML-данными позволяет получать различные результаты, например, метод отображения структуры сайта с XSL-шаблоном "Меню" отобразит нужное меню, этот же метод отображения структуры с XSL-шаблоном "Карта сайта" отобразит полную карту сайта. Copyright © 2005—2011 ООО «Хостмэйк»
9 Синтаксис XSL В общем случае содержание XSL-документа должно удовлетворять определенным требованиям: • в заголовке документа помещается объявление XML, в котором указывается язык разметки документа, номер его версии и дополнительная информация: • каждый открывающий тэг, определяющий некоторую область данных в документе обязательно должен иметь закрывающий тэг; Правильно:
Абзац Неправильно:
— непарный тег, нет закрывающего тега, либо отсутствует слэш в конце тега — Непарный тэг, отсутствует слэш в конце тега • в XML учитывается регистр символов; • все значения атрибутов, используемых в определении тэгов, должны быть заключены в кавычки: Правильно: Неправильно: - Значение параметра src не взято в кавычки • вложенность тэгов в XML строго контролируется, поэтому необходимо следить за порядком следования открывающих и закрывающих тэгов: Правильно: Жирный текст Текст курсивом Неправильно: Жирный текст Текст курсивом • вся информация, располагающаяся между начальным и конечным тэгами, рассматривается в XML как данные, и поэтому учитываются все символы форматирования; • Символ неразрывного пробела необходимо записывать как или Общая структура XSL-документа В самом начале документа указывается стилистика XML и импорт пространства имен XML: ... Copyright © 2005—2011 ООО «Хостмэйк»
10 Шаблоны xsl:template match Основным элементом для оформления является xsl:template match. xsl:template match является основным для оформления XML дерева и вызывается каждый раз при совпадении имени узла XML. Рассмотрим простейший XML документ: Заголовок 1 aaa bbb Теперь напишем простой XSL-шаблон для форматированного отображения XML данных: |