Инструменты пользователя

Инструменты сайта


limb3:ru:packages:macro:tags:core_tags:wrap_tag

Тег {{wrap}}

Описание

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

Место вставки в другом шаблоне помечается при помощи тега {{slot}}.

wrap также поддерживает множественное и вложенное обворачивание, когда части текущего шаблона могут быть вставлены в различные места базового шаблона, который в свою очередь может быть обвернут в еще один шаблон и т.д. Для этого используется комбинация {{wrap}} и нескольких тегов {{into}}

Возможности компилятора MACRO и частности, комбинация тегов {{wrap}} и {{into}} по композиции шаблонов очень велики, поэтому мы рекомендуем вам ознакомиться с разделом "Композиция шаблонов: включение, переиспользование и обворачивание шаблонов".

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

Синтаксис

{{wrap with='/path/to/file' [into='slot']}}
 ...Content to wrap...
{{/wrap}}

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

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

Атрибуты

  • with – название (путь до) шаблона, куда будет вставлен текущий шаблон при объединении.
  • into или in – идентификатор {{slot}} тега, куда будет добавлен текущий шаблон при объединении.

Содержимое

Любое.

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

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

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

{{wrap with="page.phtml" into="content"}}
 
<h1>About</h1>
Some text
 
{{/wrap}}

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

<html>
<body>
{{slot id='content'/}}
</body>
</html>

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

<html>
<body>
 
<h1>About</h1>
Some text
 
</body>
</html>

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

{{wrap with="page.phtml"}}
 
{{into slot='first'}}
<h1>About</h1>
{{/into}}
 
{{into slot='second'}}
Some Text
{{/into}}
 
{{/wrap}}

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

<html>
<body>
{{slot id='first'/}}
[...]
{{slot id='second'/}}
</body>
</html>

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

<html>
<body>
 
<h1>About</h1>
[...]
Some Text
 
</body>
</html>

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

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   ___   _____   __    ____   ____
  / _ \ / ___/  / /   / __/  / __/
 / ___// (_ /  / /__ / _/   _\ \  
/_/    \___/  /____//___/  /___/
 
limb3/ru/packages/macro/tags/core_tags/wrap_tag.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)