SDL Tridion模式字段“;链接列表“;选择权
我希望创建一个SDL Tridion模式,其中包含一个可重复链接列表,同时避免每个链接包含多个字段 超链接 在富格文本字段中,我有以下创建超链接的选项:*SDL Tridion模式字段“;链接列表“;选择权,tridion,Tridion,我希望创建一个SDL Tridion模式,其中包含一个可重复链接列表,同时避免每个链接包含多个字段 超链接 在富格文本字段中,我有以下创建超链接的选项:* 组成部分 锚定 http:// 邮寄地址: 其他 当内容作者创建其中一个超链接时,他们可以选择链接(可见)文本以及标题和目标属性,这些属性的功能类似于典型的HTML超链接 “Richtext”是指文本区域高度至少为2行且选中了允许富文本格式设置的文本字段 单一架构字段链接 创建单个架构字段时,我看到以下选项: 外部链接(作者选项将包括h
- 组成部分
- 锚定
- http://
- 邮寄地址:
- 其他
至少为2行且选中了允许富文本格式设置的文本字段
单一架构字段链接
创建单个架构字段时,我看到以下选项:
- 外部链接(作者选项将包括http://、mailto和其他)
- 多媒体链接
- 组件链接(可允许多媒体值)
当前想法
我在“链接列表”中找到的最佳开箱即用(OOTB)设置是:
一个2行RTF,带有在该字段中创建超链接(任何类型)的说明
每种类型的单独字段以及显示名称、目标和标题的附加字段(通过模板代码组合字段),作者仅填写其中一个字段(组件链接或外部)
问题
在模式表单设计器中,是否有方法更新模式源,或通过代码提供相同的(RTF)超链接下拉选项,但只在单个字段中?我可能遗漏了一些东西,但认识到OOTB不支持此场景。此用例可能使用自定义URL
字段和GUI扩展来工作。其想法是使用一个自定义URL打开一个弹出窗口(可能是GUI扩展)。在弹出窗口中,您将选择/构建链接(可能使用与普通RTF链接相同的选项-组件、锚定、mailto等)
弹出窗口将返回精心编制的字符串。格式可以是任何东西,甚至是一个实际的锚标记(但JSon也可以)。示例:{href:'tcm:1-2',type='component'}
您的模板将解释此字符串以生成有意义的内容,如动态链接或静态HTML锚定
此外,自定义URL弹出窗口应该足够智能,可以“解码”这样的链接(如果之前在该字段中指定了值),并且可以在RTF链接构造函数表单中预先填充某些属性。XML名称描述字段类型
[文本]文本文本
[标题]标题文本
[静态url]外部url文本
[组件]内部URL组件链接
在“外部URL”和“内部URL”的字段描述中,您可以添加注释,以确保编辑器不会混淆,只应填写这两个字段中的一个。从组件中,可以使用其ID在DWT中创建动态链接。这个解决方案没有开发工作,对于编辑器来说,它非常直观。当然,这将是链接模式中的一个多值嵌入式模式字段。我在客户中看到过这种情况。如果他们考虑较少的开发工作,那么拥有多个嵌入字段的想法是好的。
您可以将其设置为:
[文本]链接文本
[组件链接]链接到任何内容
外部链接需要一个额外的内容架构,如:
[外部链接]Url
[正文]目标
[您需要的任何额外选项]
这意味着编辑器每次创建外部链接时都需要创建新的外部链接组件。这是额外的工作,但也意味着更容易维护其站点内外部URL的使用
最后,编辑器只需添加多个组件链接,这些链接是任何其他组件的模式外部链接。这将是检查链接组件的模式并相应添加代码的模板代码。 这里的一个问题是考虑这些链接是否将单独用于其他地方。如果是这样,多个组件将是我的首选,因此我们可以多次重用每个组件
如果您计划允许编辑器创建一个链接列表,这些链接只在给定组件中使用(不可重用),那么,您就拥有前面答案中提到的所有选项
为了让你知道什么是最好的方法(以我的拙见),这里有一些事情需要考虑:
每个链接的单个组件:如果链接是可重用的,则使用此方法
使用嵌入式模式(具有链接结构),以便此方法可用于不同的组件类型(模式)
自定义URL/单行文本字段:它需要额外的开发工作,并且在创建内部链接时不太可能保留硬链接引用。正如您所知,SDL Tridion保留对tcm id的引用,以便解析链接、触发发布等
自定义URL/2行RTF:它将完成这项工作,但您需要确保禁用模式RTF选项中功能区工具栏上的所有其他RTF选项,以便确保编辑器只能创建链接。此外,您可能需要考虑添加XSLT筛选器来检查EdTIOR是否输入了不仅仅是链接的内容。这些链接是不可重用的
一般来说,如果您实现了一些定制(GUI扩展+定制URL),请记住所有TRIDION CMS概念,如蓝图(链接被继承时会发生什么)、使用位置等
我的建议一直是使用单独的组件,但在发布时要小心链接传播…添加评论的好处,我想