2017-03-07 50 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规则。

希望这可以帮助和进一步的好运