的条件显示所以我相当新的Sitecore的,这是我的训练过程中没有涉及的话题。我的问题仅仅是为了帮助我指出正确的术语,或者是关于执行以下操作的方法的文档。Sitecore的字段
我有一个定义项,一吨领域群体,我想要做的是一样的东西:
如果字段X的值是“yes”,那么崩溃/隐藏字段X或字段组X.
这是否有意义?这是一个验证规则吗?或其他类型的规则,是否需要附加一个工作流程?你把它放在我想隐藏的领域,还是触发动作的领域?
我明白任何指导。
的条件显示所以我相当新的Sitecore的,这是我的训练过程中没有涉及的话题。我的问题仅仅是为了帮助我指出正确的术语,或者是关于执行以下操作的方法的文档。Sitecore的字段
我有一个定义项,一吨领域群体,我想要做的是一样的东西:
如果字段X的值是“yes”,那么崩溃/隐藏字段X或字段组X.
这是否有意义?这是一个验证规则吗?或其他类型的规则,是否需要附加一个工作流程?你把它放在我想隐藏的领域,还是触发动作的领域?
我明白任何指导。
不确定您是否遇到过Andy Uzick's此blog post。
他明智地谈论了在内容编辑器中隐藏字段,并且还创建了一个名为Hide Field Template Extension的Sitecore模块,该模块托管在Sitecore Marketplace上,full source code用于扩展。
通读并尝试扩展后,我确实认为它不会完全解决您的问题(您如何在问题中描述它)。 但它会给你:
只要记住一点,它提到了要求Sitecore 6.5 & 6.6。我没有在Sitecore 7中进行测试。如果您使用Sitecore 7,我认为您可以修改源代码并使其适用于Sitecore 7.
查看并分享您的发现。
快乐Sitecoring!
Sitecore中没有任何东西可以实现您想要的功能,但没有理由不能创建组合自定义字段类型来执行此操作。下面的文章将帮助您实现这一目标:
创建一个新的控制,无论是从Droplist继承(如果该值的比较是基于文本)或Droplink (用于比较ID)。您可以在控件的Source字段中添加一个参数,以指定触发隐藏的值应该是什么。
内容编辑器中的底层控件只是一个标准的HTML select
元素。将onchange
事件添加到控件并添加您的Javascript处理程序以隐藏其他控件。由于我找不到向Sitecore控件添加其他自定义css类的方法,因此在您控制之后,最好/最简单的方法是将同一可折叠组中的所有其他控件隐藏起来。这意味着你需要更好地对你的控件进行分组(或者至少在逻辑上)。
JavaScript的将是这样的(内容编辑器使用Prototype JS framework):
if ($(this).getValue() == 'no') {
// find the parent container of this control and then hide all the next siblings in the same group
$(this).up('.scEditorFieldMarker').nextSiblings('.scEditorFieldMarker').invoke('hide');
}
您可以通过在控制台中运行上述测试,与你的领域的id改变了关键字this
,例如$('FIELD2292054')
。
我不确定如何在初始加载时触发隐藏,也就是说,当有人返回到现有项目时,可以通过添加一个管道来实现,但使用JS解决方案会更好如果可能的话。我会仔细考虑并在接下来的几天内获得适当的代码样本。
编辑:你可以添加一个事件处理程序到sc:contenteditorupdated
来处理被重定向的内容编辑器。
document.observe("sc:contenteditorupdated", myFunction);
我写了一个blog post,把code on GitHub如果你有兴趣。
你的意思是,当在内容编辑器界面?即项目上的模板部分? –
是的,这是正确的。 – thematt
听起来像你会想改变内容编辑器的工作方式,虽然这是可能的,但它不是真正的建议。这听起来像是你的数据太多了。 – IvanL