2017-04-26 32 views
0

我有一個佈局包含在另一個顯示我的菜單的佈局中。我的菜單項的標籤必須是動態的(如郵箱的未讀郵件號)。然後我這樣做:在Symfony佈局中動態顯示信息

<a href="{{ path('mypath',{'etat': '2' }) }}">My orders</a> 
(
    {{ render(controller('MyController', {'etat':2})) }} 
    <span style="color:red">with {{ render(controller('MyController', {'etat':2})) }} in late</span> 
) 

我想顯示標籤根據返回我的控制器的數量。我不知道如何讓它變成一個變量。

+0

您發佈的代碼似乎並不完整。這應該是控制器代碼或Twig代碼? –

回答

0

當你的控制器

return $this->render('twig_template_name.html.twig', array('variable_name' => $variable);

執行你的模板傳遞給樹枝模板變量的選擇陣列中,我表現。代碼

{{ path('mypath',{'etat': '2' }) }}

打印下的「mypath中」一節中的routing.yml中限定的路徑並最終添加的GET請求變量的鏈接(「?政變= 2」),如果「mypath中」顯示絕對路線'www.website.com/yourpath',

{{ path('mypath',{'etat': '2' }) }}會生成'www.website.com/yourpath?etat=2',它會發送您的控制器的路線/ yourpath/{etat} a變量etat的值爲2,因此您現在需要做的就是將您從另一個控制器接收到的實際動態值更改爲2。

我不知道什麼是etat,但讓我們說這是一篇文章,它有它的身份證,你有一個博客頁面有很多文章和控制器打印出來他們全部出來的文章數組發送到樹枝模板,在你的樹枝模板,你做這樣的事情:

{% foreach article in articles %} 
    {{ article.title }} 
    {{ article.story }} 
    <a href="{{ path('single_story_url',{'id': article.id } }}">read more</a> 
{% endforeach %} 

你最終是這樣的:

虛名

有關代碼真棒故事沒有錯誤,並在那裏的最後期限取決於如何創新,精心設計和實施了olutions是

[閱讀全文]

,你ofcourse點擊「更多」,並在URL〜/條/ 2結束了,因爲文章具有2的ID,你的那個URL控制器接收請求中的變量ID,則執行$id = $_GET['id'];並從存儲庫中獲取文章並將其發送到模板。

希望這回答了你的問題,我很分層,所以原諒我,如果我混淆,我肯定是。

+0

然後我需要創建另一個模板?最後,我的佈局會調用我的控制器,它將調用模板顯示在我的佈局中。 – Topheur

+0

第一個控制器在您使用代碼的位置呈現模板:'My orders ( {{render(controller('MyController',{'etat':2}))}} with {{render(controller('MyController',{'etat':2}))}} )'和由path()twig函數生成的鏈接將創建一個帶get參數的鏈接,調用一個控制器從樹枝是我認爲不可能的,因爲你嘗試。 –