Зарегистрироваться Войти Редактировать К списку тем

Тестовый форум Still Life

Общие принципы создания шаблонов

Создана vitus 29.03.2008 19:00

Общие требования, которым должны удовлетворять все шаблоны StillLife

Высказаться
21.03.2008 17:02 (ссылка)
vitus

Статус:
Email: vitus@wagner.pp.ru

Шаблон страницы представляет собой обычный HTML-файл

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

Используется DTD HTML 4.01. Это прибито гвоздями в скрипт, поскольку используемый в качестве парсера HTML::TreeBuilder не слишком легко позволяет манипулировать DTD.

В дальнейшем придется научиться работать с XHTML, чтобы генерировать Atom Feed-ы, но до этого пока дело не дошло

Поэтому рекомендуется пропускать все шаблоны через W3C HTML validator, прежде чем пытаться использовать их в скрипте.

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

  • url, начинающиеся со слова forum, заменяются на ссылку на форумный скрипт, с текущим файлом в качестве PATH_INFO.
  • url, начинающиеся со слова templates, заменяются на ссылку на объект в каталоге шаблонов (что позволяет легко ссылаться на графические элементы, скрипты и таблицы стилей в каталоге шаблонов
  • Два слэша в начале URL, заменяются на адрес корневой страницы форума.
  • url, вида users/username, заменяется на url страницы просмотра профайла соответствующего пользователя.

Дальнейшие подстановки зависят от конкретной операции и описаны в описании конкретного шаблона.

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

  • Если форма показана в результате ошибки обработки запроса, для того чтобы пользователь исправил ошибку и отправил запрос заново, сообщение об ошибки помещается в элемент с классом error.
  • Все поля формы с именем (name), соответствующим названию операции, заполняются значениями соответствующих переменных из обрабатываемого запроса. Исключение составляют поля типа file, которые нельзя заполнять со стороны сервера и поля типа passwd, которые не заполняются по соображениям безопасности
  • В форму если есть необходимость, помещается скрытое поле returnto, которое задает URL, куда следует перенаправить пользователя после успешной обработки запроса.