stringtranslate.com

Система веб-шаблонов

Основной процесс для серверной системы веб-шаблонов : контент (из базы данных ) и «спецификации представления» (в веб-шаблоне ) объединяются (с помощью механизма шаблонов ) для массового производства веб-документов.

Система веб-шаблонов в веб-публикации позволяет веб-дизайнерам и разработчикам работать с веб-шаблонами для автоматического создания пользовательских веб-страниц , таких как результаты поиска. Это повторно использует статические элементы веб-страницы, определяя динамические элементы на основе параметров веб-запроса . Веб-шаблоны поддерживают статический контент, предоставляя базовую структуру и внешний вид. Разработчики могут реализовывать шаблоны из систем управления контентом , фреймворков веб-приложений и HTML-редакторов .

Обзор

Система веб-шаблонов состоит из следующих элементов:

Шаблон и ресурсы контента обрабатываются и объединяются шаблонизатором для массового производства веб-документов. В целях данной статьи веб-документы включают любой из различных форматов вывода для передачи через Интернет через HTTP , HTTPS или другой интернет-протокол .

Шаблонизатор

Диаграмма, иллюстрирующая все основные элементы и поток обработки шаблонизатора.
Процессор шаблонов (также известный как шаблонизатор или анализатор шаблонов) — это программное обеспечение, предназначенное для объединения шаблонов с данными (определяемыми моделью данных ) для создания результирующих документов или программ . [2] [3] [4] Язык, на котором написаны шаблоны, известен как язык шаблонов или язык шаблонизации. Для целей этой статьи результирующий документ — это любой вид форматированного вывода, включая документы , веб-страницы или исходный код (при генерации исходного кода ), как целиком, так и фрагментами. Шаблонизатор обычно включается как часть системы веб-шаблонов или фреймворка приложения и может также использоваться как препроцессор или фильтр .

Пример

Поскольку модель обычно хранится в реляционной базе данных, оставшимися компонентами архитектуры MVC являются элемент управления и представление. В простейших системах эти два элемента не разделены. Однако, адаптируя принцип разделения интересов, можно полностью разделить отношения.

Например, шаблон представления может выглядеть так:

<!DOCTYPE html> < html  xmlns = "http://www.w3.org/1999/xhtml" >  < head >< title > Сайты </ title ></ head >  < body >< h1  data-xp = "title" > <!-- заполнитель --> </ h1 ></ body > </ html >

Затем шаблон управления загружает представление, а затем использует XPath -адресацию [ оригинальное исследование? ] для вставки компонентов из базы данных, например:

<?php $doc  =  new  DOMDocument ; $doc -> preserveWhiteSpace  =  false ; $doc -> Load ( 'view.html' ); $titlenode  =  $doc -> createTextNode ( "Нравится" ); $xpath  =  new  DOMXPath ( $doc ); $xpath -> registerNamespace ( "h" ,  "http://www.w3.org/1999/xhtml" );  $query  =  "//h:*[@data-xp='title']/comment()" ; $entries  =  $xpath -> query ( $query ); foreach  ( $entries  as  $entry )  {  $entry -> parentNode -> replaceChild ( $titlenode ,  $entry ); } echo  $doc -> saveXML (); ?>

Виды систем шаблонов

Веб-браузер и веб-сервер представляют собой архитектуру клиент-сервер . Сайты часто также используют веб-кэш для повышения производительности. Пять типов систем шаблонов классифицируются на основе того, когда они заменяют заполнители реальным контентом и собирают страницы.

Языки шаблонов могут быть:

Исходный код шаблонизатора может быть как проприетарным, так и открытым .

Многие системы шаблонов являются компонентом более крупной платформы или фреймворка программирования. Их называют «системой шаблонов платформы». Некоторые системы шаблонов имеют возможность замены другого языка шаблонов или движка. [ необходима цитата ]

Языковая поддержка

Такие языки программирования, как Perl , Ruby , C и Java, поддерживают обработку шаблонов как изначально, так и через дополнительные библиотеки и модули. JavaServer Pages (JSP), PHP и Active Server Pages (ASP с VBScript , JScript или другими языками) сами по себе являются примерами веб-шаблонизаторов. Эти технологии обычно используются в серверных системах шаблонизации, но могут быть адаптированы для использования на прокси-сервере «edge-side» или для генерации статических страниц.

Генераторы статических сайтов

Генераторы статических сайтов — это движки, которые используют плоские текстовые входные файлы, такие как markdown и asciidoc, для генерации статической веб-страницы . Примерами этого являются Jekyll (Liquid, Ruby ), Hugo ( шаблоны Go ) и Pelican ( Jinja2 , Python ).

Статические HTML-редакторы

Архитектура системы шаблонов внешнего сервера.

HTML-редакторы часто используют системы веб-шаблонов для создания только статических веб-страниц . Их можно рассматривать как готовый веб-дизайн , используемый для массового производства "шаблонных" веб-сайтов для быстрого развертывания. Они также обычно включают темы вместо стилей CSS . В общем, язык шаблонов используется только с программным обеспечением редактора. [5]

FrontPage и Dreamweaver когда-то были самыми популярными редакторами с подсистемами шаблонов. Веб-шаблон Flash использует Macromedia Flash для создания визуально интерактивных сайтов.

Многие серверные системы шаблонов имеют возможность публиковать выходные страницы на сервере, где опубликованные страницы являются статическими . Это распространено в системах управления контентом , таких как Vignette , но не считается генерацией вне сервера. В большинстве случаев эта «опция публикации» не мешает системе шаблонов , и ее можно реализовать с помощью внешнего программного обеспечения, например Wget .

Серверные системы

Система шаблонов на стороне сервера

Люди начали использовать динамические страницы на стороне сервера , сгенерированные из шаблонов с помощью уже существующего программного обеспечения, адаптированного для этой задачи. Это раннее программное обеспечение было препроцессорами и макроязыками , адаптированными для веб-использования, работающими на CGI . Затем, простой, но актуальной технологией стало прямое выполнение, выполненное на модулях расширения, начатое с SSI .

Многие системы шаблонов обычно используются в качестве серверных систем шаблонов :

Технически, методология встраивания языков программирования в HTML (или XML и т. д.), используемая во многих "серверных включаемых скриптовых языках", также является шаблонами. Все они являются Embedded complex languages .

Существуют также препроцессоры, используемые в качестве серверных шаблонизаторов . Примеры:

Системы Edge-side

Системы шаблонов и включений Edge-Side. «Edge-side» относится к веб-серверам, которые находятся в пространстве между клиентом (браузером) и исходным сервером. Их часто называют серверами «обратного прокси». Эти серверы обычно выполняют задачу по снижению нагрузки и трафика на исходных серверах путем кэширования контента, такого как изображения и фрагменты страниц, и доставки его в браузер эффективным способом.

Basic Edge Side includes (ESI) — это язык, подобный SSI. ESI был реализован для сетей доставки контента. Язык шаблонов ESI также может быть реализован в веб-браузерах с использованием JavaScript и Ajax или через «плагин» браузера.

Клиентские системы

Клиентская и распределенная (децентрализованная) система шаблонов.

Многие веб-браузеры могут применять таблицу стилей XSLT к данным XML, которая преобразует данные в документ XHTML, тем самым предоставляя функциональность шаблона в самом браузере.
Другие системы реализуют функциональность шаблона в браузере с помощью JavaScript или другого клиентского языка сценариев, включая:

Распределенные системы

Самая простая форма — это трансклюзии (HTML-фреймы). В других случаях необходимы динамические веб-страницы .

Примеры:

Смотрите также

Ссылки

  1. ^ "Template engine". phpwact.org wiki. Архивировано из оригинала 4 декабря 2012 г. Получено 7 января 2013 г.
  2. ^ Нимейер, Патрик (2002). Изучение Java . Севастополь: O'Reilly. ISBN 0-596-00285-8.
  3. ^ Манолеску, Драгос (2006). Шаблонные языки проектирования программ 5. Чтение: Addison-Wesley Professional. ISBN 0-321-32194-4.
  4. ^ Фаулер, Мартин (2003). Модели архитектуры корпоративных приложений . Бостон: Addison-Wesley. ISBN 0-321-12742-0.
  5. ^ Макдональд, Мэтью (2015). Создание веб-сайта: недостающее руководство. Глава 8 > Размещение одного и того же контента на нескольких страницах > Веб-шаблоны > Примечание: O'Reilly Media, Inc. ISBN 9781491936177. Получено 19 января 2016 г.{{cite book}}: CS1 maint: location (link)
  6. ^ "{{mustache}}" . Получено 15 октября 2013 г. .
  7. ^ jodyburns. "Система шаблонов Topsite" . Получено 15 октября 2013 г.

9. Бесплатные темы для сайтов электронной коммерции MG Technologies Блоги и информационный портал тем для сайтов.

Внешние ссылки