====== Тег {{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|"Композиция шаблонов"]].