【问题标题】:Template to provide static HTML wrapping a page-specific value提供静态 HTML 包装页面特定值的模板
【发布时间】:2017-11-28 22:42:52
【问题描述】:

我正在创建一个页面模板。使用该模板的每个页面都将具有一个嵌入到页面 HTML 中的唯一值。 HTML 的其余部分对于所有页面都是不变的。假设以下是期望的结果:

<a href="www.example.com/id">click me</a>

我想要一个提供&lt;a href="www.example.com/"&gt;click me&lt;/a&gt; 的模板,同时允许各个页面(内容管理员)提供id

我尝试使用可编辑文本 Web 部件,并将“之前”和“之后”HTML 放入 HTML 信封之前和之后部分,并在“页面”选项卡上添加 ID。但是,这并不完全奏效。实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: kentico


    【解决方案1】:

    这是可以做到的。您想要做的是将该字段添加到您正在添加这些页面的页面类型字段中。例如,假设您在/locations 下有一个位置列表。

    即:
    /location/chicago
    /location/new-york
    /location/minneapolis

    位置本身(芝加哥、纽约、明尼阿波利斯)是您的自定义页面类型,并有一个名为 LocationID 的唯一字段。在您的模板上,添加一个静态文本 webpart(不是静态 HTML,因为 WYSIWYG 编辑器会覆盖您添加的标记)并简单地添加:

    &lt;a href="http://www.example.com/{%LocationID%}"&gt;click me&lt;/a&gt;

    如果LocationID字段有exists AND有值,就会输出,否则就留下URLhttp://www.example.com/

    如果您根本不想在其他页面上显示该链接,请根据您希望它在静态文本 Web 部件的“可见性”部分中显示的页面类型设置“显示页面类型”属性。

    【讨论】:

    • 我使用的是开箱即​​用的页面类型“页面(菜单项)”,因为页面非常简单。我曾考虑尝试使用自定义页面类型,但希望尽可能避免,只是为了将复杂性降至最低。如果它真的有效,我想这是值得的。您有任何不涉及自定义页面类型的想法吗?我会试试你说的同时。谢谢。
    • 然后将该字段添加到常规页面页面类型。只要知道添加的每个页面,它都会在那里。如果您不需要,则无需使事情复杂化。
    • 谢谢布伦登。正如您在回答中列出的那样,我创建了一个新的页面类型。它就像我想要的那样工作,而且开销也不大。 Web 部件名称让我感到困惑——我没想到“静态文本”会是我创建动态 HTML 所需的名称:)
    猜你喜欢
    • 2012-09-06
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2023-03-13
    • 2014-11-18
    • 2018-02-05
    • 1970-01-01
    • 2017-08-30
    相关资源
    最近更新 更多