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  =  новый  DOMDocument ; $doc -> saveWhiteSpace  =  false ; $doc -> Загрузить ( 'view.html' ); $titlenode  =  $doc -> createTextNode ( «Вот так» ); $xpath  =  новый  DOMXPath ( $doc ); $xpath -> RegisterNamespace ( "h" ,  "http://www.w3.org/1999/xhtml" );  $query  =  "//h:*[@data-xp='title']/comment()" ; $entries  =  $xpath -> запрос ( $query ); foreach  ( $entries  as  $entry )  {  $entry -> parentNode -> replaceChild ( $titlenode ,  $entry ); } echo  $doc -> saveXML (); ?>

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

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

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

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

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

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

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

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

Генераторы статических сайтов — это механизмы, которые используют файлы ввода плоского текста, такие как 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 и т. д.), используемая во многих «языках сценариев, включаемых на стороне сервера», также является шаблонами. Все они являются встроенными сложными языками .

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

Краевые системы

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

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

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

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

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

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

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

Примеры:

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

Рекомендации

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

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

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