Внедрение шаблонов в другие шаблоны
Любой шаблон может использоваться из другого шаблона, с помощью переменной "embed":
{embed="template_group/template"}
Где "template_group" - название группы шаблонов, и "template" - название шаблона. Например:
{embed="site/header"}
Вы должны указывать название группы шаблонов и название шаблона в теге embedded.
По умолчанию, вы не можете использовать внедренные шаблоны, в модуле форума или в шаблонах профилей пользователей.
Добавление переменных во внедренные шаблоны
В теге {embed=""}, вы можете указывать специальные параметры, которые будут использоваться как переменные во внедренной странице. Например, если вы определили параметр dog_name="Shadow":
{embed="site/header" dog_name="Shadow"}
То в шаблоне сайта/заголовка, у вас будет определена переменная, вызываемая тегом {embed:dog_name}, который будет заменен значением "Shadow".
<h2>My dog's name is {embed:dog_name}</h2>
Теги {embed=""} обрабатываются после того, как будут обработаны все другие теги оригинального шаблона, это означает, что вы можете устанавливать эти параметры с другими переменными:
{exp:weblog:entries weblog="default_site" limit="1"}
{embed="site/export" the_id="{entry_id}"}
{/exp:weblog:entries}
Также, вы можете использовать, внедряемые переменные в условных выражениях:
{if embed:dog_name == "Shadow"}
My dog's name is {embed:dog_name}.
{if:else}
{embed:dog_name} will never be as cool as Shadow.
{/if}
Примечания
- Вы можете вкладывать внедренные шаблоны так глубоко, как пожелаете. Другими словами, вы можете внедрить один шаблон в другой шаблон, а последний еще в один шаблон. Однако: Вы не можете внедрять шаблон сам в себя, из-за возникновения бесконечной петли. Вы также не можете поместить в одном шаблоне "родительский" и "внедренный" шаблон. Например: У вас есть два шаблона: "outer" и "content". Вы помещаете "content" в "outer". Вы не можете поместить "outer" в "content".
- Настройки PHP соблюдаются для каждого шаблона отдельно, что означает, что вы можете внедрить шаблон, в котором разрешен PHP, в другой шаблон, в котором PHP не разрешен.
- Шаблон полностью обрабатывается прежде, чем будут обработаны и включены любые внедренные шаблоны, что означает, что вы не можете разделять теги между различными шаблонами и внедрять их частями.
- Если вы пользуетесь менеджером сайтов, то вы можете встроить шаблоны с одного сайта на другой сайт. Подробности вы можете найти здесь: Менеджер сайтов. Параметры и переменные