Содержание

<core:wrap>

Описание

Вставляет содержимое внутри тега в определенное место вставки, или placeholder другого шаблона и делает из этих двух шаблонов единый. Данный процесс называется обворачивание. Место вставки указывается атрибутом as или in, путь до другого шаблона указывается при помощи атрибута file.

Обычно место вставки помечается при помощи тега <core:placeholder> тега. Контейнер вставки не обязательно должен быть реализован при помощи тега <core:placeholder>. Для этих целей можно использовать вообще любой тег, например <div> с атрибутом wact:id (см. пример ниже)

<core:wrap> также поддерживает множественное и вложенное обворачивание, когда части текущего шаблона могут быть вставлены в различные места базового шаблона, который в свою очередь может быть обвернут в еще один шаблон и т.д.

Возможности компилятора WACT и частности тега <core:wrap> по композиции шаблонов очень велики, поэтому мы рекомендуем вам ознакомиться с разделом "Композиция шаблонов: включение(include) и обворачивание(wrap) шаблонов".

Обратите внимание на то, что если вы пользуетесь механизмом поиска шаблонов Limb, тогда нужно использовать относительные пути до файлов, то есть include/page.html вместо /include/page.html

Синтаксис

<core:WRAP file='/path/to/file' as/in='placeholder'>
 ...Content to wrap...
</core:WRAP>

Область применения

В любом месте WACT шаблона.

Атрибуты

Содержимое

Любое.

Пример использования

Простой пример

Допустим у нас есть шаблон /news.html

<core:wrap file="page.html" as="content">
 
<h1>About</h1>
This is <core:wrap> and <core:placeholder> tags example.
 
</core:wrap>

А также есть базовый шаблон всех страниц page.html:

<html>
<body>
<core:placeholder id='content'/>
</body>
</html>

В результе компилироваться будет приблизительно такой шаблон:

<html>
<body>
 
<h1>About</h1>
This is <core:wrap> and <core:placeholder> tags example.
 
</body>
</html>

Пример множественного обворачивания

<core:wrap file="page.html">
 
<core:wrap as='first'>
<h1>About</h1>
</core:wrap>
 
<core:wrap in='second'>
This is <core:wrap> and <core:placeholder> tags example.
</core:wrap>
 
</core:wrap>

А также есть базовый шаблон всех страниц page.html:

<html>
<body>
<div wact:id='first'>
  This text will be replaced
</div>
<core:placeholder id='second'/>
</body>
</html>

В результе компилироваться будет приблизительно такой шаблон:

<html>
<body>
 
<h1>About</h1>
This is <core:wrap> and <core:placeholder> tags example.
 
</body>
</html>

Дополнительные примеры