Função de inclusão

A função

include retorna o conteúdo renderizado de um modelo:

{{ include('template.html') }}

{{ include(some_var) }}

Os modelos incluídos têm acesso às variáveis ​​do contexto ativo.

Se você estiver usando o carregador do sistema de arquivos, os modelos são procurados nos caminhos por ele definidos.

O contexto é passado por padrão para o modelo, mas você também pode passar variáveis ​​adicionais:

{# template.html will have access to the variables from the current context and the additional ones provided #}

{{ include('template.html', {foo: 'bar'}) }}

Você pode desativar o acesso ao contexto configurando with_context para false:

{# only the foo variable will be accessible #} {{ include('template.html', {foo: 'bar'}, with_context = false) }}

{# no variables will be accessible #} {{ include('template.html', with_context = false) }}

E se a expressão for avaliada como uma \Twig\Template ou uma \Twig\TemplateWrapper instância, o Twig a usará diretamente:

// {{ include(template) }}

$template = $twig->load('some_template.twig');

$twig->display('template.twig', ['template' => $template]);

Quando você definir o sinalizador ignore_missing , o Twig retornará uma string vazia se o modelo não existir:

{{ include('sidebar.html', ignore_missing = true) }}

Você também pode fornecer uma lista de modelos cuja existência é verificada antes da inclusão. O primeiro modelo que existe será renderizado:

{{ include(['page_detailed.html', 'page.html']) }}

Se

ignore_missing estiver definido, ele não renderá nada se nenhum dos modelos existir, caso contrário, ele lançará uma exceção.

Ao incluir um modelo criado por um usuário final, você deve considerar colocá-lo em sandbox:

{{ include('page.html', sandboxed = true) }}

Argumentos

  • template: O modelo a ser renderizado

  • variables: As variáveis ​​a serem passadas para o modelo

  • with_context: Se deve passar as variáveis ​​de contexto atuais ou não

  • ignore_missing: Se deve ignorar os modelos ausentes ou não

  • sandboxed: Se deve ser feito o sandbox do modelo ou não

Ficou com alguma dúvida? Entre em contato através do nosso chat online.