ymfony中twig頁面渲染自定義組件的方式介紹
Controller:自定義模板需要用的Acion:
* * * * *
/**
* 網站左側銀行列表(導航)
*
*/
public function BankListAction()
{
$em = $this->getDoctrine()->getManager();
$bankEntities = $em->getRepository('AcmeDemoBundle:Bank')
->findBy(array(),array('sort'=>'desc'));
return $this->render('AcmeDemoBundle:Bank:banklist.html.twig', array(
'bankEntities' => $bankEntities,
));
}
* * * * *
twig:要自定義的模板:
{#% extends "AcmeDemoBundle::layout.html.twig" %#}
<div class="list fl">
<div class="box">
<div class="title"><h1>銀行列表</h1></div>
<ul>
{% if bankEntities is defined and bankEntities is not empty %}
{% for bank in bankEntities %}
<li><a href="{{ path('bank_show',{'id':bank.id}) }}"><img src="{{ bank.logo }}"/></a></li>
{% endfor %}
{% else %}
<li><a href="javascript:void(0)">暫無銀行信息。</a></li>
{% endif %}
</ul>
<a href="{{ path('bank') }}" class="more">查看更多 >></a>
</div>
</div>
* * * * *
routing:路由聲明:
# 網站左側導航菜單——銀行列表
navigation_bankList:
pattern: /navBankList
defaults: { _controller: "AcmeDemoBundle:Bank:BankList" }
view:twig頁面調用方式:
* * * * *
<!-- 銀行列表 -->
{{ render(controller('AcmeDemoBundle:Bank:BankList')) }}
{# { include('AcmeDemoBundle:Bank:banklist.html.twig') } #}