Взгляд на CMS с высоты птичьего полёта
Создание cms Июнь 8th. 2008, 1:00дпОбщий принцип работы системы был задокументирован ранее. Теперь поговорим немного о шаблонизаторе.
В моём представлении каждая страница сайта состоит из виджетов, связанных между собой некоторым оформлением (дизайном). Вот примеры виджетов:
- главное меню
- меню с подпунктами
- баннер
- форма авторизации
- корзина
- область основного контента страницы
- и т.д.
Почему я выделил слова область основного контента страницы полужирным шрифтом?
Дело в том, что этот момент ещё не очень хорошо продуман. Скорее всего заголовок H1 и путь к этой странице будут выделены в отдельные виджеты. А вот с листалкой уже не так очевидно, да ещё может возникнуть потребность выводить на одной странице несколько элементов контента (например, парочку фотогалерей и один текст).
Какие же роли играют Шаблонизатор и Виджет?
- В Шаблонизаторе определяется в каком месте будет выводиться тот или иной Виджет.
- Виджет определяет как именно он будет выводиться и будет ли вообще он при заданных условиях отображать себя.
Такая схема позволяет разрабатывать виджеты совершенно отдельно от реального приложения и добиться их простого повторного использования. Однако она же и накладывает некоторые ограничения. Например: view-скрипт виджета должен идти с ним в одном комплекте, и для каждого момента в нём должны быть прописаны свои css-классы.