我想從數據庫中的表中檢索城市名稱,並將它們作爲選項放置在'layout.html.twig'中定義的選擇輸入(組合框)中, 。我的所有視圖都擴展了'layout.html.twig',那麼我怎樣才能訪問每個頁面中的城市名稱?symfony2 - 如何在每個頁面全局檢索數據庫中的數據
[解決方法]
我不能對我的話題進行了迴應,我並沒有太多的聲譽,所以我修改我的話題
我已經找到了解決方案,使用"embedding controllers"
首先我創建了一個動作中檢索所有的城市名稱:
public function listCitiesAction(){ // retreiving cities $entities = $this->getDoctrine()->getRepository("MedAdBundle:City")->findAll(); return $this->render('MedAdBundle:Ville:list_cities.html.twig', array('entities' => $entities)); }
這個動作渲染list_cities.html.twig定義爲:
<select class="form-control"> {% for entity in entities %} <option>{{ entity.name}}</option> {% endfor %} </select>
finnaly編輯我layout.html.twig
<div> {{ render(controller('MedAdBundle:City:listCities'))}} </div>
這樣我可以訪問到城市中的組合框我的應用程序中的每一頁;)
您可以使用全局樹枝變量http://symfony.com/doc/current/cookbook/templating/global_variables。相反,你應該在你的窗體中使用自動完成,例如參見:http://stackoverflow.com/questions/11962613/how-to-add-an-autocomplete-field-in-a-symfony2-form-for-a-收集和使用p – dbrumann