【问题标题】:Composite C1 - Insert block of html into multiple Page Template Features复合 C1 - 将 html 块插入多个页面模板功能
【发布时间】:2013-09-24 13:00:56
【问题描述】:

我有多个页面模板功能。

我需要将一段 HTML 插入到每个 HTML 中。

理想情况下,我希望在所有其他页面模板功能中嵌入另一个页面模板功能 - 但似乎这是不可能的。

这样做的最佳方法是什么,这样插入的 HTML 就不会重复并且可以在一个地方进行编辑?

【问题讨论】:

    标签: c1-cms


    【解决方案1】:

    您可以创建一个 XSLT 函数并将 HTML 块放入其中,然后将该 XSLT 函数插入到页面模板功能中。

    要创建 XLST 函数,请转到 Functions 透视图,右键单击内容树中的 XSLT Functions 节点,然后选择 Add XSLT Function - 按照向导操作。

    现在您可以将 HTML 内容直接添加到模板中,就在 <!-- markup placed here will be the output of this rendering --> 注释下方。 XSLT 函数可以通过从系统加载 XML 数据并以您喜欢的任何方式对其进行转换来为您做很多事情,但这不是实现此目的所必需的。

    要将您的功能添加到页面模板功能,请编辑模板功能并添加以下代码:

    <f:function xmlns:f="http://www.composite.net/ns/function/1.0" name="YourNamespace.YourFunctionName" />
    

    这将使您能够有一个集中的地方来维护您的 HTML 块,但它确实在某种程度上违背了页面模板功能的目的,因为它们的内容现在必须在 XSLT 函数中维护

    【讨论】:

    • 谢谢。我不熟悉 XSLT - 我可以用 HTML 代替吗?
    • 我已经更新了答案,提供了有关如何使用 XSLT 函数的更多详细信息。关键是 可以 只在 XSLT 函数中使用 HTML —— 它只是一种将你想在许多地方使用的 HTML sn-p 集中起来的手段。
    猜你喜欢
    • 1970-01-01
    • 2014-07-27
    • 2018-09-02
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多