如何通过嵌入式架构作为下拉在支持SDL Tridion 2011 SP1的内容模式(how to p

2019-09-16 16:51发布

我试图创造支持SDL Tridion架构,以满足这些要求。

我有两个主要领域:

  1. ABCD,其中有一个子场为“XYZ”
  2. AAAA,它有两个子场即“名称”和“值”

这两个主要领域是可重复的和,应该是可移动的。

实施例模式可以看起来像按规定:

ABCD----AAAA----ABCD---AAAA
AAAA----ABCD----ABCD----AAAA

主要领域AAAA和ABCD应该从一个移动到另一个。

说,如果我创建一个创建的模式和第一主领域“AAAA”和第二场为“ABCD”的组成部分,那么我应该能够移动ABCD的AAAA上面。

我曾尝试创建带有两个领域的嵌入式架构:

  1. 选择主场:作为一个列表,在这里我选择ABCD和AAAA为文本类型。

  2. 文字:输入文字。

加入此架构作为内容模式作为多值允许“重新发布和重复”的一部分。

面临的问题:

  • 由于字段不常见的两种主要领域,我无法进入的数据,并为两个主要领域并不满足需要的共同子..

解决方案所需:

  • 如果我创建两个嵌入式架构与名“ABCD”和“AAAA”所要求的领域,我可以添加这些模式为下降主要内容架构下的一部分?

  • 如果用户选择嵌入模式“ABCD”,应该只显示“XYZ”字段。 如果用户选择了“AAAA”,我应该显示其子场为“名称”和“值”。

如果这是不可行的,你可以请建议最好的可能的解决方案,以满足要求?

我使用DWT TBB和XSLT TBB的再现部分。

谢谢。

Answer 1:

我不相信这是使用开箱即用支持SDL Tridion的Web架构(虽然一些伟大的无证架构更改已经悄悄进入了产品最近)的支持。 外表套上网络架构使用序列中的XSD来控制,其防止从具有两种类型的嵌入式模式的一个多值字段中的字段的顺序(和数字)。 然而,你可以使用一个复杂的模式(即设计自己的模式或修改一个你使用使用源选项卡中的GUI构建自己的模型数据),但很可能不再能够使用GUI来编辑您的内容。

反正是有,你可以使用一个多值组件Link现场,而不是一个嵌入式架构? 这样,你可以现场链接到AAAA类或ABCD的项目,并把它们放在任何你想要的顺序。



Answer 2:

如果你想保持外表套上网络架构的领域内,这确实是不可能的。 正如克里斯解释说,如果你开始使用这个复杂的架构,你失去了编辑组件形式基于UI。

唯一的解决办法我能想到的是ABCD和AAAA的所有字段添加到一个可嵌入的架构,使一切非强制性的。 如果内容验证是非常重要的,那么你可以实现一个事件系统,该系统确实在保存组件的检查。 在这里你可以做条件检查,如果该领域形成的嵌入模式的ABCD部分填满它会忽略甚至可以清除AAAA领域,反之亦然。

你的模板代码现在需要就显示什么内容的决定。 如果所有的嵌入式架构的字段都被填充了,它需要做什么来显示一个选择,否则就只显示其中输入的内容。 你应该把模板中嵌入架构领域描述清晰的逻辑,这样你就可以引导内容编辑成需要什么样的内容考虑脚本(通过节省来验证正确性的事件系统支持)。



文章来源: how to pass embedded schemas as drop down for the content schema in SDL Tridion 2011 SP1