2017-03-07 39 views
1

我想創建我的應用程序範圍的形式主題自定義塊:如何在應用範圍內使用Twig form主題定義自定義塊?

config.yml:

twig: 
    form_themes: 
     - 'MyAdminBundle::bootstrap_3_layout_custom.html.twig' 

在bootstrap_3_layout_custom.html.twig:

{%- block test_block -%} 
    test 
{%- endblock test_block -%} 

它還包含一些for_row,form_widgets和其他的重載,在我的子樹枝上工作正常。

但是當我嘗試這樣做: {{ block('test_block') }},我得到了Block "test_block" on template "@MyBundle/base.admin.html.twig" does not exist.

我相信我應該在一根樹枝延伸註冊「test_block」功能,但我找不到怎麼辦呢? 其他問題:如果上面的斷言是真的(必須定義Twig函數)有沒有辦法「廣泛」,或者我應該一個一個地註冊塊函數?

謝謝

+0

你到底在做什麼。把一個'block'放到另一個文件中?或者只是寫些東西,以便你可以打電話給它。因爲插入一個塊到一個文件可以做得更有效率 –

+1

我想分組自定義塊定義,如你在fields.html.twig你可以添加一個全局表單主題。但是,這裏的區別在於,我的一些自定義塊只是輸出原始html,可能是嵌套塊。 exmeplae我想到的是一個塊輸出引導面板啓動直到面板主體(可稱爲bootstrap_panel_start)和補充關閉它(bootstrap_panel_end),並在整個應用範圍內使用它,因爲我們通常做form_start和form_end以包含form_row 。它更清楚嗎? – nbonniot

+0

很可能這不是正常的樹枝。你需要寫一些擴展名或下載它。我按了一個人之前做過這件事,但我無法幫助你。抱歉。 –

回答

0

最有可能這是不正常的樹枝。你需要寫一些擴展名或下載它。我按之前有人已經這樣做過,所以查看它或保持正常的cms規則。

希望這可以幫助和進一步的好運