Jump to content

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

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

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

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

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

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

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

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

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

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
   <head><title>Sites</title></head>
   <body><h1 data-xp="title"><!-- placeholder --></h1></body>
</html>

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

<?php
$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
$doc->Load('view.html');
$titlenode = $doc->createTextNode("Like this");
$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();
?>

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

[ редактировать ]

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

  • На стороне сервера – замена во время выполнения происходит на веб-сервере.
  • На стороне клиента – замена во время выполнения происходит в веб-браузере.
  • Edge-side – замена во время выполнения происходит на прокси-сервере между веб-сервером и браузером.
  • Внешний сервер – статические веб-страницы создаются в автономном режиме и загружаются на веб-сервер; нет замены во время выполнения
  • Распределенный – замена во время выполнения происходит на нескольких серверах.

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

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

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

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

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

[ редактировать ]

Языки программирования, такие как 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 .

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

Метка/имя системы Платформа/фреймворк Примечания
Лезвие PHP Общественный. Часть Ларавеля
ГепардШаблон Питон Общественный. Встроенный сложный язык .
Джанго Питон Используйте «язык шаблонов Django».
FreeMarker Ява Общественный.
Фасеты Джакарта, EE Общественный. Часть Jakarta Faces
Генши Питон Общественный
ветчина Руби или другое Общественный.
Гамлеты Ява Общественный.
Джинджа2 Питон Общественный. Встроенный сложный язык .
Ребенок Питон
Лассо ЛассоСофт, ООО Собственный. Интерпретируемый язык программирования и сервер
Усы ActionScript , C++ , Clojure , CoffeeScript , ColdFusion , D , Erlang , Fantom , Go , Java , серверный JavaScript , Lua , .NET , Objective-C , ooc , [6] Perl , PHP , Python , Ruby , Scala , Tcl Общественный.
Базовые серверные компоненты (SSI) Базовые директивы фиксируют «стандарт». Встроенный простой язык , если исключить exec директива.
Умник PHP Общественный. Встроенный сложный язык .
Набор инструментов для шаблонов Перл Общественный. Встроенный сложный язык .
Язык атрибутов шаблона (TAL) Zope , Python , Java , Perl , PHP , XSLT Общественный; также известные как Шаблоны страниц Zope (ZPT) ; см. также Синтаксис выражений TAL (TALES), Расширение макросов TAL (METAL).
Плитка Ява Общественный. Поддерживает несколько языков шаблонов (JSP, Velocity, Freemarker, Mustache) из различных платформ (сервлетов, портлетов, Struts, Spring).
Тимелиф Ява Общественный.
Топсайт Питон Общественный. «По состоянию на 20 февраля 2008 г. этот проект больше не находится в активной разработке». [7]
Ветка PHP
PHPlib PHPlib Общественный. Встроенный итеративный язык .
ВебМакрос Ява Общественный. Встроенный итеративный язык .
Веб-объекты Ява Используйте WebObjects Builder в качестве движка.
Скорость Ява Общественный. Используйте VTL — язык шаблонов скорости .
Виньетка Собственный. Коммерческое решение. Встроенный сложный язык .
XSLT (стандартный язык) Любой с парсером XSLT Стандарт. Язык программирования, управляемый событиями .
XQuery (стандартный язык) Любой с парсером XQuery Стандарт. Встроенный программируемый язык .

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

Метка/имя системы Примечания
Активные серверные страницы (ASP) Собственный ( платформа Microsoft ). См. также: VBScript , Javascript, PerlScript и др. расширения для ASP.
eRuby Публичный ( Рубин ).
Язык разметки ColdFusion (CFM) Публичные ( Lucee , Railo , OpenBD). Собственный ( Adobe ColdFusion ).
Страницы сервера Джакарты (JSP) Общественный, Джакарта, EE .
Активный Перл Общественный.
PHP Общественный.
OpenACS Публичный ( Tcl ).

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

Препроцессор Примечания
Препроцессор C Общественный. Встроенный итеративный язык .
М4 Общественный. Встроенный сложный язык .

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

[ редактировать ]

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

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

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

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

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

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

[ редактировать ]

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

Примеры:

См. также

[ редактировать ]
Концепции:       Стандарты:
  • UIML (язык разметки пользовательского интерфейса)
  • XSLT (преобразования расширяемого языка таблиц стилей)
      Программное обеспечение:
  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: местоположение ( ссылка )
  6. ^ "{{усы}}" . Проверено 15 октября 2013 г.
  7. ^ Джодибернс. «Система шаблонов Topsite» . Проверено 15 октября 2013 г.

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

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 313b62391f446109616b6868867c3f57__1719124140
URL1:https://arc.ask3.ru/arc/aa/31/57/313b62391f446109616b6868867c3f57.html
Заголовок, (Title) документа по адресу, URL1:
Web template system - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)