0
在symfony中CMF我喜歡創建以下:Symfony的CMF顯示從容器塊中的所有靜態內容
- 創建稱爲內部
- 一個菜單項創建名爲insideBlock
- 容器塊創建多個靜態內容,他們應該有父容器塊
如果用戶點擊菜單裏面的所有項目都應該顯示靜態內容,這些內容應該是父項的內部塊
我沒有弄清楚如何做到這一點。 當然,我不喜歡爲內部編程功能,因爲我希望其他菜單的行爲方式相同。
我能夠菜單項鍊接到一個靜態的內容,並顯示該單的內容,但只要我選擇容器塊,菜單項消失......
編輯
我已經做到了這一點:
在我的控制器增加一個功能是這樣的:
/** * @Route("/{_locale}/empfang", name="empfang_display_all") */ public function empfangAction(Request $request) { $documentManager = $this->get('doctrine_phpcr')->getManager(); $content = $documentManager->find(null, '/cms/content/empfangsgebiet'); return $this->render('empfang/empfang.html.twig', [ 'contents' => $content ]); }
- 加入作爲路線菜單項empfang_display_all
- 靜態內容組父到容器
- 在視圖
``{%組索引= 0%}
{% for child in children %}
{% if (child.name != "banner") and (isInstanceof(child, 'ContainerBlock') == false) %}
<div class="{{ cycle(section1, index) }}">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="top-title">
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
{% if isInstanceof(child, 'DemoSeoContent') %}
{{ child.body|raw }}
{% else %}
{{ sonata_block_render({ 'name': child.id }) }}
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% set index = index + 1 %}
{% endif %}
{% endfor%}
我現在想讓下面的線條更具動感
$content = $documentManager->find(null, '/cms/content/empfangsgebiet');
優選的我想有這樣的:
/**
* @Route("/{_locale}/empfang/{path}", name="empfang_display_all")
*/
public function empfangAction(Request $request, $path)
{
$content = $documentManager->find(null, $path);
}
嗨dbu,我這樣做的同時。我創建了一個容器,將每個內容添加到這個容器,然後添加一個自定義路由的菜單項,在我的控制器中創建一個函數來顯示這個特定容器的子項......但是當我添加一個帶有子項的新菜單時,我將不得不再次創建一個自定義函數,我寧願有一個通用函數來調用......但從菜單項中,我沒有找到爲這個路由名稱添加參數......是否有可能這樣做? – schurtertom
您可以使用菜單屬性中的routeParameters屬性來調整路線。 – dbu
但我建議創建一個「容器」文檔,這是一種「頁面」,以便可以有自己的路線。那麼您只需創建這樣一個容器頁面,在url上定義url和自定義模板,然後添加塊,並創建一個指向該容器頁面的菜單項。 – dbu