2013-11-26 3 views
0

Я играю с Twig, и мне это нравится. У меня есть проблема, хотя, я хочу загрузить 2 или более шаблонов с сайта PHP и «объединить» их вместе в 1 рендеринг или несколько, если это дает тот же результат.Загрузка нескольких шаблонов в Twig

Допустим, у меня есть класс, который должен сделать визуализацию и у меня есть эти шаблоны, шаблон layout.tmpl в /site/templates/layouts/layout.tmpl:

{% block head %} 
<head> 
blabla 
</head> 
{% endblock %} 

И шаблон называется вид .tmpl в /site/templates/Home/view.tmpl

{% block head %} 
<head> 
blabla2 
</head> 
{% endblock %} 

Что PHP код делать я требую, и что умный. Поэтому я не хочу использовать {% extends%} в самом файле шаблона?

Спасибо заранее!

ответ

0

вы можете включить этот файл. Нравится:

{% include 'header.html' %} 
    Body 
    {% include 'footer.html' %} 
+0

Я знаю, но я действительно не хочу использовать шаблоны для этого, я хочу связать их вместе через PHP. – Hawiak

0

Я нашел обходное решение далеко не красивое, но оно выполняет свою работу.

$template_contents = file_get_contents(); 
$layout_contents = file_get_contents(); 
$template_contents = "{% extends \"layout.tmpl\" %}" . $template_contents; 

$loader = Twig_Loader_Array(array('layout.tmpl' => $layout_contents, 'template.tmpl' => $template_contents); 
$twig = new Twig_Environment($loader); 
$twig->render('template.tmpl'); 
Смежные вопросы