====== Тег {{wrap}} ======
===== Описание =====
Вставляет содержимое внутри тега в определенное место - слот, или placeholder, другого шаблона и делает из этих двух шаблонов единый. Данный процесс называется **обворачивание** или враппинг. Место вставки указывается атрибутом **into** (или **in**), путь до другого шаблона указывается при помощи атрибута **with**.
Место вставки в другом шаблоне помечается при помощи [[slot_tag|тега {{slot}}]].
**wrap** также поддерживает множественное и вложенное обворачивание, когда части текущего шаблона могут быть вставлены в различные места базового шаблона, который в свою очередь может быть обвернут в еще один шаблон и т.д. Для этого используется комбинация [[wrap_tag| {{wrap}}]] и нескольких [[into_tag|тегов {{into}}]]
Возможности компилятора MACRO и частности, комбинация тегов [[wrap_tag| {{wrap}}]] и [[into_tag| {{into}}]] по композиции шаблонов очень велики, поэтому мы рекомендуем вам ознакомиться с разделом [[limb3:ru:packages:macro:template_composition|"Композиция шаблонов: включение, переиспользование и обворачивание шаблонов"]].
//Обратите внимание на то, что если вы пользуетесь механизмом поиска шаблонов Limb, тогда нужно использовать относительные пути до файлов, то есть include/page.html вместо /include/page.html//
===== Синтаксис =====
{{wrap with='/path/to/file' [into='slot']}}
...Content to wrap...
{{/wrap}}
===== Область применения =====
В любом месте MACRO шаблона.
===== Атрибуты =====
* **with** – название (путь до) шаблона, куда будет вставлен текущий шаблон при объединении.
* **into** или **in** – идентификатор [[slot_tag| {{slot}}]] тега, куда будет добавлен текущий шаблон при объединении.
===== Содержимое =====
Любое.
===== Пример использования =====
==== Простой пример ====
Допустим у нас есть шаблон /news.phtml
{{wrap with="page.phtml" into="content"}}
About
Some text
{{/wrap}}
А также есть базовый шаблон всех страниц page.phtml:
{{slot id='content'/}}
В результе компилироваться будет приблизительно такой шаблон:
About
Some text
==== Пример множественного обворачивания ====
{{wrap with="page.phtml"}}
{{into slot='first'}}
About
{{/into}}
{{into slot='second'}}
Some Text
{{/into}}
{{/wrap}}
А также есть базовый шаблон всех страниц page.phtml:
{{slot id='first'/}}
[...]
{{slot id='second'/}}
В результе компилироваться будет приблизительно такой шаблон:
About
[...]
Some Text
==== Дополнительные примеры ====
* Несколько рабочих примеров различной сложности находятся по адресу: http://projects.limb-project.com/macro/show.php?group=tags/core/wrap/
* Большое количество примеров с комментариями можно найти в разделе [[limb3:ru:packages:macro:template_composition|"Композиция шаблонов"]].