2013-02-26 67 views
1

我使用的是樹學說extenion創建菜單系統,我想創建一個枝條延伸到顯示基於請求的父節點例如菜單{% display_menu(side_menu) %}。此功能將位於基本樹枝模板中(即菜單位於網站的每個頁面上)。Symfony2中使用實體管理器的樹枝延伸內

因爲我將存儲菜單結構與Doctrine,我想我需要訪問Twig擴展中的MenuRepository,所以我遇到的第一個問題是獲得一個實體管理器。當尋找一個解決方案,一個fewpeople說,這是不好的做法,這是有意義的嫩枝擴展視圖的一部分。

所以雖然有一個解決方案(鏈接到類似的問題)我的問題,我的問題是,有沒有辦法我可以使用做法呢?或者有沒有更好的方式來做到這一點呢?

回答

2

製作實體知悉任何服務 - 包括實體管理器 - 是一個不好的做法。將EM注入到Twig擴展中沒有任何問題。雖然,我寧願將模型管理器注入到Twig擴展中,以便擴展不知道持久層 - 這是管理器層的工作。

所以,我不得不MenuManager這是瞭解repositores /實體管理器,並將它注入到一個擴展。

+0

謝謝你的建議。我將使用從[這裏]接受的答案(http://stackoverflow.com/questions/8450465/fetching-data-through-a-custom-repository-in-a-twig-extension?rq=1)在此案件。 – Robin 2013-02-27 09:45:01