渲染追加到同一块的多个子模板

时间:2014-03-04 11:01:24

标签: node.js express pug

所以这是我的问题。我在CMS中有一个选项列表,当我点击其中一个选项时,CMS面板中的内容会发生变化,方法是使当前面板不可见,并使与该选项对应的面板可见。现在,我希望这些选项是模块化的,并且在单独的文件中。

我希望有一个主CMS模板,用于定义选项块和面板块。然后,每个选项都有它的单独的玉文件,扩展主模板并附加到这些块。

这将允许我轻松添加新选项并在我的代码中有选择地呈现我想要的选项。那么我怎样才能渲染多个模板,使它们的附属物加在一起而不会让它们以某种奇怪的方式相互延伸?

我还应该注意,除了它们是编译时间之外,include会很好,所以我不能包含它们的数组。

这是一个代码示例:

CMS-layout.jade

block options

block panel

option1.jade

extends cms-layout

append options
    | Option1
append panel
    div
        | This is the panel for option1

option2.jade

extends cms-layout

append options
    | Option2
append panel
    div
        | This is the panel for option2

我想要一种方法来渲染option1模板和option2模板,生成的玉石看起来像这样

block options
    | Option1
    | Option2
block panel
    div
        | This is the panel for option1
    div
        | This is the panel for option2

1 个答案:

答案 0 :(得分:0)

所以我最终做的就是删除块并为服务器上的每个单独的选项jade文件执行jade.compile。然后我将编译后的HTML作为字符串传递给CMS的模板,并使用!=运算符将其插入所需的位置。

非常遗憾的是,默认情况下无法使用此类功能。