链接到另一个episerver页面上的定位点
有没有一种优雅的方式链接到EpiServer中的某些其他页面中的锚点,即使在锚点名称更改之后,这些锚点也会保持链接的相关性? 我95%肯定没有这样做的标准方式,所以对自定义实现的想法是受欢迎的。
有现有的插件,但...
我发现EpiServer的这个插件基本上会从您感兴趣的页面中删除所有锚点,并将它们呈现在TinyMCE wysiwyg编辑器的下拉列表中。 但是,由于锚点没有可以通过更改跟踪它们的唯一属性,因此这些锚点链接会及时腐烂,因为将<a name="Meeting"></a>
更改为<a name="Appointment"></a>
会使先前创建的链接无效。
关于如何工作的想法
我对EpiServer中如何轻松使用ContentType
很不熟悉,但我认为应该可以创建某种属性HtmlAnchors
,它可以是可以在页面上使用的字符串集合。 这些在实践中将被视为常量,并且我相当肯定EpiServer中有一种检查页面属性是否正在使用的方法,因此如果其中一个字符串( HtmlAnchor
)在其他页面上引用,它将会是如果不删除引用,则无法删除它。 这将使锚链始终保持一致和可参照。
可能的工作流程:编辑器打开页面属性视图并在“HtmlAnchors”属性上按下+
符号。 添加字符串“详细概览”。 然后,使用代码的前端将添加类似于页面模板的内容: <h4 name=@Model.Anchors("detailed-overview")>Overview</h4>
,并在引用页面中使用(截至目前<h4 name=@Model.Anchors("detailed-overview")>Overview</h4>
不存在的)url helper @Url.PageLinkWithAnchor(Model.PageLink, "detailed-overview")
来创建一个指向该锚点的链接。
如果使用IAnchorPage#Anchors()
编辑器,那么它可以使用IAnchorPage#Anchors()
来列出现有的锚,并使用IAnchorPage#AddAnchor()
来添加锚。
当然,我看到我上面所描绘的东西似乎停留在一个摇摇欲坠的基础上,因为它使用简单的字符串......这可能不会增加其他任何东西而不是开销。
链接地址: http://www.djcxy.com/p/68879.html