Kentico - 子页面上的可编辑 WebPartZones?

Posted

技术标签:

【中文标题】Kentico - 子页面上的可编辑 WebPartZones?【英文标题】:Kentico - Editable WebPartZones on children pages? 【发布时间】:2018-10-01 10:36:21 【问题描述】:

我在母版页顶部的母版页中添加了一个 WebPartZone,此 Web 部件区域是一个消息栏,将显示在所有页面上,但每个页面上可能不同。模板中是否可以有一个可在每个页面上编辑的 Web 部件区域?或者是另一种方法?

谢谢

【问题讨论】:

【参考方案1】:

简短的回答没有。从模板引擎的角度来看,无论母版中可编辑的内容 - 在其子版中均不可编辑。所有可在母版上编辑的可编辑 Web 部件/小部件,在其子级中不可编辑。

如果您真的想在母版及其所有子版中拥有可编辑的文本,您可能需要克隆和自定义 Web 部件以及它所基于的表单控件。或者创建您自己的 Web 部件。

附:您可以在页面模板中包含可编辑文本,因此使用此模板的所有页面都可以使用此可编辑文本。

如果你能提供更多关于你想要编辑的内容的详细信息会更容易提供答案

附言你可以有一个解决方法,但它不会是可编辑的文本。您必须在表单选项卡上编辑消息文本。这适合你吗?

【讨论】:

谢谢。基本上我想在页面顶部显示一个消息 Web 部件,但每个页面上的消息可能不同,我想要该区域。我正在考虑的一个选项是在每个孩子的页面正文上添加 Web 部件,然后添加一个容器或其他东西以使用 CSS 在页面顶部移动消息。 如果您想在没有可编辑 Web 部件的情况下显示消息 - 这是可行的: - 您需要创建一个主文档类型,其中包含名为 message 的文本字段。 - 从该主文件继承您的所有文档类型,因此所有文档都将在have message 字段中形成棕褐色。 - 然后您可以在主模板上放置静态文本 Web 部件 - - 。在 web 部件的 text 属性中添加宏 %CurrentDocument.GetValue("Message")% 所以 web 部件在 master 但它会显示页面特定的消息【参考方案2】:

您可以在母版上添加 webpart,并使用宏来获取内容,例如 %CurrentDocument.GetValue("Message")%,但是您必须在每个页面中添加一个字段来存储消息.

【讨论】:

【参考方案3】:

只是多丢一个选项,如果要显示的内容从页面类型更改为页面类型,可以在母版页上放置一个重复器,放置一个句点(当前文档)的路径,然后使用宏来设置页面类型到当前文档类名和转换到 currentdocument.classname+".mastermessage"

使用宏,然后将转换“mastermessage”添加到它将遇到的每个页面类型,然后您可以更改每个页面类型的字段和格式。

【讨论】:

以上是关于Kentico - 子页面上的可编辑 WebPartZones?的主要内容,如果未能解决你的问题,请参考以下文章

Kentico多语言网站

如何使用 kentico 为包含 Web 部件的页面内容创建索引?

Kentico 11:在 text/xml 转换中使用变量

将 jQuery 插件转换为 Kentico Web 部件

Kentico 12 - 如何将单个页面设置为需要身份验证?

单击事件上的 Kentico 自定义 WebPart 按钮