我曾經使用過CodeIgniter。現在我開始學習Symfony2。我只是想知道,在CodeIgniter中,我可以從另一個視圖加載視圖。就像,我可以從index.php加載menu.php。這是我以前怎麼做的 -如何從視圖加載視圖?
//in index.php
<?php $this->load->view('menu.php'); ?>
是否有可能在Symfony2和Twig中做同樣的事情?
我曾經使用過CodeIgniter。現在我開始學習Symfony2。我只是想知道,在CodeIgniter中,我可以從另一個視圖加載視圖。就像,我可以從index.php加載menu.php。這是我以前怎麼做的 -如何從視圖加載視圖?
//in index.php
<?php $this->load->view('menu.php'); ?>
是否有可能在Symfony2和Twig中做同樣的事情?
有幾種不同的方式可以做到這一點,這取決於你想要完成什麼。
如果你想呈現控制器的響應,你可以在你的樹枝模板中做到這一點。
{{ render(controller('AcmeArticleBundle:Article:recentArticles', {
'max': 3
})) }}
在上面的例子中,參數傳遞max
將作爲一個參數到控制器傳遞。然後控制器將負責返回一個響應,該響應將被插入到被調用的視圖中。
您還可以使用include
渲染只是樹枝模板嵌入視圖:
{% for article in articles %}
{{ include(
'AcmeArticleBundle:Article:articleDetails.html.twig',
{ 'article': article }
) }}
{% endfor %}
在上面的例子article
將被傳遞到樹枝模板articleDetails.html.twig
的背景下,但不是任何控制器。因此,這種方法是理想的,在很多地方作爲表格,列表,側邊欄模板,重複前端代碼等
http://symfony.com/doc/current/book/templating.html#including-other-templates http://twig.sensiolabs.org/doc/functions/include.html
非常感謝你。這只是我想要的。祝福你。 –