Отправляет email-рассылки с помощью сервиса Sendsay

Создание CMS

  Все выпуски  

Создание CMS - Уже работает!


Уже работает!

Давно уже ничего не писалось, поэтому покажу кое-что, надеюсь, интересное.

Много времени и сил было потрачено на модернизацию модуля данных Data, разработан модуль разграничения прав (контроля доступа) Access и модуль аутентификации пользователей Auth. В данный момент прорабатывается модуль Page, задача которого - генерация "представления" данных в формате HTML. Вот тут-то уже можно посмотреть, что получается.

В процессе работы над модулем Page, создана примитивная новостная лента, правда, пока без возможности что-то в неё добавлять через web интерфейс. Но всё же, на неё можно посмотреть (и потрогать исходники в SVN).

http://dev.boolive.ru

HTML-страницы генерируются блочным принципом: есть корневой блок, в него вставляются подчиненные и так далее... У каждого объекта данных имеется шаблон, сам объект не знает о нём, тем более шаблонов может быть несколько разных для одного объекта. Выбор шаблона осуществляется модулем Page по системному имени класса объекта и системному имени самого объекта (если оно есть). Так, например, для новостей шаблоном будет файл news.tpl.php (принцип схож с друпаловским). Если файла news.tpl.php нет, то будет осуществляться поиск файла content.tpl.php - т.е. учитывается наследование классов. Если у объекта есть системное имя, то можно сделать шаблон для конкретного объекта.

Блоки – это тоже объекты данных, для них точно также используются шаблоны. При создании страницы для отправке её клиенту сначала выбирается корневой блок, выполняется его отображение. При этом с учётом юрла или состояния (настроек) системы выбирается блок для отображения его в корневом блоке. Шаблон корневого блока - это html с пустым body. Блок, вложенный в корневой, вставляется в body и определяет своим шаблоном схему страницы, например "шапку", "колонки", "подвал" и др. Далее продолжается вставка объектов данных в области блока. По сути даже не важно, что вставляется - блок или не блок - всё работает однотипно, просто блоки непосредственно относятся к "представлению" в формате html.

Ладно, пока ещё не всё проработано, чтоб в деталях рассказывать, если кто в теме, кому интересно, могу отвечать на вопросы на форуме, от вас требуется только создание темы.

© Владимир Шестаков. ICQ: 209-504-733. http://boolive.ru

В избранное