【发布时间】:2018-10-01 10:36:21
【问题描述】:
我在母版页顶部的母版页中添加了一个 WebPartZone,此 Web 部件区域是一个消息栏,将显示在所有页面上,但每个页面上可能不同。模板中是否可以有一个可在每个页面上编辑的 Web 部件区域?或者是另一种方法?
谢谢
【问题讨论】:
标签: templates master-pages web-parts kentico
我在母版页顶部的母版页中添加了一个 WebPartZone,此 Web 部件区域是一个消息栏,将显示在所有页面上,但每个页面上可能不同。模板中是否可以有一个可在每个页面上编辑的 Web 部件区域?或者是另一种方法?
谢谢
【问题讨论】:
标签: templates master-pages web-parts kentico
简短的回答没有。从模板引擎的角度来看,无论母版中可编辑的内容 - 在其子版中均不可编辑。所有可在母版上编辑的可编辑 Web 部件/小部件,在其子级中不可编辑。
如果您真的想在母版及其所有子版中拥有可编辑的文本,您可能需要克隆和自定义 Web 部件以及它所基于的表单控件。或者创建您自己的 Web 部件。
附:您可以在页面模板中包含可编辑文本,因此使用此模板的所有页面都可以使用此可编辑文本。
如果你能提供更多关于你想要编辑的内容的详细信息会更容易提供答案
附言你可以有一个解决方法,但它不会是可编辑的文本。您必须在表单选项卡上编辑消息文本。这适合你吗?
【讨论】:
message 的文本字段。 - 从该主文件继承您的所有文档类型,因此所有文档都将在have message 字段中形成棕褐色。 - 然后您可以在主模板上放置静态文本 Web 部件 -
您可以在母版上添加 webpart,并使用宏来获取内容,例如 {%CurrentDocument.GetValue("Message")%},但是您必须在每个页面中添加一个字段来存储消息.
【讨论】:
只是多丢一个选项,如果要显示的内容从页面类型更改为页面类型,可以在母版页上放置一个重复器,放置一个句点(当前文档)的路径,然后使用宏来设置页面类型到当前文档类名和转换到 currentdocument.classname+".mastermessage"
使用宏,然后将转换“mastermessage”添加到它将遇到的每个页面类型,然后您可以更改每个页面类型的字段和格式。
【讨论】: