Шаблоны, страницы, объекты, форматы
Данная ветвь иерархии объектов QP7 служит для организации кода веб-сайта. Целесообразно настраивать права доступа так, чтобы к ней имели доступ только разработчики.
Шаблон (Template) предназначен для объединения страниц, имеющих одинаковое или похожее оформление и для хранения общих настроек страниц и объектов, которые он содержит. Также имеет собственный код, который выполняется в самом начале выполненния страницы. Обычно содержит вызовы одного или нескольких объектов шаблона.
Страница (
Page) - это собственно веб-страница (
.asp или
.aspx), которая будет создана в результате процесса
сборки.
Объект (Object) - минимальный кирпичик, из которого складываются страницы. В ASP.NET сборке каждый объект собирается в пользовательский контрол (.ascx). С точки зрения ASP.NET сборки шаблон также является обычным контролом (.ascx), просто он вызывается первым. Отличия страниц друг от друга определяется набором объектов, которые они используют. Объекты могут быть объектами страницы или шаблона. Разница между ними в области видимости: объекты страницы можно вызвать только на данной странице, объекты шаблона - на любой странице данного шаблона, а также с помощью специального формата вызова из других шаблонов. Объект страницы может переопределить объект шаблона. Это означает, что у них будут одинаковые имена и при вызове объекта по имени будет вызван объект страницы, а не объект шаблона.
Формат (Format) - каждый объект может иметь несколько модификаций (форматов), которые будут вызываться пользовательским кодом в зависимости от условий. Каждый объект должен иметь хотя бы один формат. Формат, созданный первый, становится форматом по умолчанию. Основная часть пользовательского кода содержится именно в форматах (и небольшая часть в шаблонах).
Code Behind/Presentation - в каждом
шаблоне и
формате есть эти два поля. Концепция разделения кода аналогична ASP.NET: Presentation содержит разметку, Code Behind - логику отображения. Объекты можно
вызывать как из Presentation, так и из Code Behind, но синтаксис вызовов будет различаться. В ASP-сборке разделение кода отсутствует.
Объекты типа Publishing Container и Publishing Form имеют ряд собственных настроек:
Типовая последовательность разработки
Разработка динамической HTML-страницы обычно ведется следующим образом:
В шаблон переносится полная верстка типовой страницы (<html>…</html>
)
Осуществляется разбиение верстки на блоки. Блоки оформляются в виде объектов шаблона и заменяются в теле шаблона вызывовами соответствующих объектов.
Подобная декомпозиция применяется к созданным объектам шаблона до нужного уровня. Нужный уровнем определяется наличием динамического содержимого (см. пункт 4) или необходимостью переопределеня (см. пункт 5)
Если объект имеет динамическое содержимое, (например, меню или список новостей), то создается объект типа Publishing Container, связанный с соответствующим контентом.
Когда мы создаем другие страницы, основанные на том же шаблоне, то мы можем создавать как создавать абсолютно новые объекты страницы, так и создавать их, переопределяя соответствующие объекты шаблона.
Discussion