链接到另一个episerver页面上的锚点

时间:2016-06-23 14:19:39

标签: episerver

是否有一种优雅的方式链接到EpiServer中某些其他页面中的锚点,这将保持链接相关 - 即使在锚名称更改后?我95%肯定没有标准的方法这样做,所以欢迎对自定义实现的想法。

现有插件,但......

我向EpiServer发现了cancel(),它基本上会从您感兴趣的页面中抓取所有锚点,并将它们显示在TinyMCE所见即所得编辑器的下拉列表中。但由于锚点没有可以通过更改跟踪它们的唯一属性,因此将<a name="Meeting"></a>更改为<a name="Appointment"></a>会使以前创建的链接无效,这些锚链接会及时腐烂。

关于如何运作的想法

我不太熟悉如何在EpiServer中轻松使用ContentType,但我认为应该可以创建某种属性HtmlAnchors,这将是一个集合可以在页面上使用的字符串。这些在实践中将被视为常量,我很确定在EpiServer中有一种检查页面属性是否正在使用的方法,因此如果其他页面中引用了其中一个字符串(HtmlAnchor) ,如果不删除引用就不可能删除它。这将使锚链始终保持一致和可靠。

可能的工作流程:编辑器打开页面属性视图并按下&#34; HtmlAnchors&#34;上的+符号。属性。添加字符串&#34;详细概述&#34;。使用代码的前端程序会在页面模板中添加类似的内容: <h4 name=@Model.Anchors("detailed-overview")>Overview</h4>,在引用页面中使用(截至尚不存在的)url helper @Url.PageLinkWithAnchor(Model.PageLink, "detailed-overview")来创建指向该锚点的链接。

如果使用wysiwyg编辑器,则可以使用IAnchorPage#Anchors()列出现有锚点,并使用IAnchorPage#AddAnchor()添加锚点。

当然,我看到我在上面描绘的内容似乎停留在一个摇摇欲坠的基础上,因为它使用简单的字符串......这可能不会增加额外的开销。

0 个答案:

没有答案