2012-05-22 39 views

回答

2

可以渲染一個子模板,例如(在我的項目),我有這樣的:

{% render "EUPaNdataBundle:Home:listAllInstitutes" %}

這將在頂部導航欄中的下拉菜單中顯示所有機構的列表。

listAllInstitutes是在Home控制器,它會從數據庫院所列表的操作,然後返回listAllInstitutes.html.twig模板

+1

請注意,子請求在性能方面非常昂貴。 –

+0

如何?這不是在做一個子請求。它不會通過HTTP調用另一個頁面;它只是包括它。而在性能方面,沒有問題。如果遇到問題,您可以緩存它......如果您不使用子模板,您還可以在佈局中呈現機構列表嗎? – Flukey

+0

'include'是一個只呈現另一個模板,而'render'做一個子請求。當我需要渲染某些需要執行單獨的數據庫查詢的事情時,我寫了Twig擴展。 –

2

創建一個事件偵聽器偵聽kernel.request事件,如果更新當前用戶的最後一次上線時間她已登錄。請參閱my another answer以瞭解聽衆的示例並根據您的需求進行調整。