【问题标题】:Kentico global webpart usageKentico 全球网络部件使用情况
【发布时间】:2016-04-12 06:40:34
【问题描述】:

我们正在从纯门户转向门户/aspx 开发模型。所以我一直在努力让我的 .Master 页面正常工作,到目前为止一切都很好,除了我需要一种方法来在全球范围内应用可编辑文本 webpart。

对位于页眉中并出现在每一页上的副本块进行成像。

因此,在门户中,输入副本,并在整个站点中使用,无论模板如何。我知道我可以将静态副本添加到父 .Master 页面,但这需要管理员可以编辑。

我已尝试在 ASPX 页面上注册可编辑文本 Web 部件,但这在门户中似乎无法正常工作。

【问题讨论】:

标签: kentico


【解决方案1】:

我相信实现这一点的方法是创建一个单页模板,它上面只有可编辑的文本 webpart,并且不继承任何其他内容。然后在您的母版页上,添加一个使用该可编辑文本 Web 部件页面模板的页面占位符。这应该在每一页上显示。我以前没有使用过这种方法,但假设它应该可以工作。

【讨论】:

  • 据我所知,当您的模板设置为门户和.aspx 时,没有主模板。因此,当您创建新页面时,您可以继承或基于模板。当我继承时,页面选项卡中的可编辑文本区域为空白。是否有将从页面显示的网络区域?因此,与其说是一个可编辑的文本网络区域,不如说是一个拉入特定页面的网络区域。该页面除了 p 标记之外没有任何标记。
  • 我掉进了一个兔子洞,打算退后一步,重新审视这种方法。
【解决方案2】:

您可以设置自定义设置。

Kentico 文档为此提供了一个很棒的 How-To guide。

之后,您可以在每个页面上使用像 {% Settings.MyCustomSetting %} 这样的宏来引用它 - 这还允许您控制文本在每个部分上的呈现方式,以防某些部分具有您需要应用的特定标记到文本块。

【讨论】:

  • 这也是我的第一个想法,但我也犯了一个错误,因为几年后要成为多语言的网站会导致很多额外的工作。
  • @DarBrett 你是对的,在多语言环境中,这将导致需要多个设置,这对开发人员的理智来说不是一个好兆头。
【解决方案3】:

转为混合模式的原因是什么?是更好地控制基本页面标记还是其他?

您知道您可以自定义 CMSPages/PortalTemplate.aspx 或将其完全替换为您的自定义基本页面吗?

您可以考虑使用这种方法,如果您需要这种方法,因为某些页面更复杂,因此硬编码更有意义,您也可以将它们实现为一些更大的自定义 Web 部件。

【讨论】:

  • 谢谢,我去看看。转变的主要原因之一是需要完全定制。这是与财务后端未来联系的更大努力的开始。干杯!
  • 根据我的经验,几乎任何需求都可以在门户引擎和 ASPX 中完成。必要时从 PE 迁移到 ASPX 很容易,因此我建议您做出此决定,直到您有特定要求并且用尽选项为止。即便如此,我可能会考虑使用 MVC 而不仅仅是 ASPX。
猜你喜欢
  • 2018-01-25
  • 1970-01-01
  • 2020-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-06
  • 2010-10-01
  • 2015-12-29
相关资源
最近更新 更多