2013-10-04 39 views
0

相同getRepository我使用的存儲庫中的Symfony2控制器是這樣的:的Symfony2 - 呼叫中的所有控制器動作

$blog = $em->getRepository('BlogBloggerBundle:BlogData')->getBlogData($id); 

之前,我把它變成通過陣列的樹枝視圖。

所有的作品都是正確的,但問題是它構成了一個頁腳菜單,那麼,我應該在我需要的每一個動作中調用它。

如何從每個我需要的「常用」存儲庫調用它?

回答

3

創建一個視圖效應初探聽衆註冊樹枝變量,並在那裏添加該存儲庫調用...

...或創建一個樹枝延伸暴露從倉庫收到一個全局變量樹枝的數據。

...(我的優先選擇)創建一個專用於渲染頁腳控制器和包括這樣的註腳:

{{ render(controller('Bundle:controller:action')) }} 

瞭解更多關於symfony的網頁中this blog post渲染片段。

+0

好主意。我從存儲庫加載數據: '$ brand = $ em-> getRepository('BloggerBlogBu​​ndle:BlogData') - > getBlogData($ id); return $ brand);' 我得到這個錯誤: '在模板渲染過程中拋出異常(「控制器必須返回一個響應(Array(0 => Array(0 => Array ...) '' –

+0

');'似乎是一個語法錯誤不應該是'return $ brand;'? – nifr

+1

當你試圖直接返回實體而不是'Response'對象時......你添加了'@ View'註釋到你的控制器......還是你有一些其他的控制器響應監聽器(例如FOSUserBundle's)?否則你需要做這樣的事情:'return $ this-> render( 'BloggerBlogBu​​ndle :Footer:index.html.twig', array('brand'=> $ brand) );' – nifr