【问题标题】:Render multiple subtemplates that append to the same block(s)渲染附加到同一块的多个子模板
【发布时间】:2014-04-05 21:06:24
【问题描述】:

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

我想要一个主 CMS 模板,它定义了一个选项块和一个面板块。然后,这些选项中的每一个都将具有单独的翡翠文件,该文件扩展主模板并附加到这些块。

这将允许我轻松添加新选项并在我的代码中选择性地呈现我想要的选项。那么如何渲染多个模板,以便将它们的附属物添加在一起,而不会使它们以某种奇怪的方式相互扩展呢?

我还应该注意,包含在这里会很好,只是它们是编译时间,所以我不能包含它们的数组。

这是一个代码示例:

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

【问题讨论】:

  • 你需要给我们看一些代码,或者更清楚地表明这只是关于编程。
  • @TheHippo 那里。我添加了一个代码示例。我是用手机发帖的,所以我不能更早地添加代码,我认为措辞已经足够描述性了。

标签: node.js express pug


【解决方案1】:

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

很遗憾这种功能默认不可用。

【讨论】:

    猜你喜欢
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多