Sitecore:将项目版本的语言限制为仅英语

Sitecore:将项目版本的语言限制为仅英语,sitecore,sitecore7,sitecore7.2,Sitecore,Sitecore7,Sitecore7.2,我有多语言网站,对于一个特定的项目,我想限制内容编辑器创建语言版本。对于这个项目,我只想要英文版本 我怎样才能做到这一点 在/sitecore/system/Languages节点下的每种语言都有一个语言读取和语言写入属性,您可以通过安全编辑器设置该属性,以限制哪些角色具有哪些权限 实现这一点的最简单的解决方案是,在不向Sitecore中写入任何编码/黑客攻击的情况下,为itemA的数据模板制作所有这些文件(如有必要) 这样,无论是否添加了其他语言版本,所有语言都只能编辑该字段的单个版本。它还

我有多语言网站,对于一个特定的项目,我想限制内容编辑器创建语言版本。对于这个项目,我只想要英文版本


我怎样才能做到这一点

/sitecore/system/Languages节点下的每种语言都有一个语言读取语言写入属性,您可以通过安全编辑器设置该属性,以限制哪些角色具有哪些权限


实现这一点的最简单的解决方案是,在不向Sitecore中写入任何编码/黑客攻击的情况下,为item
A
的数据模板制作所有这些文件(如有必要)


这样,无论是否添加了其他语言版本,所有语言都只能编辑该字段的单个版本。它还有一个优点,即当编辑不同语言的内容时,编辑器将能够继续编辑字段,而无需首先切换回
en
,然而,缺点是所有版本也将是相同的,这意味着如果这是一项要求,则无法将该项放入工作流。

我有一个类似的场景,并研究了该项:Jim提到的addversion。然而,这样做很难不陷入第22条军规的境地。在我的例子中,我通过代码创建了很多项。在不引发事件(静默更新)的情况下这样做是相当棘手的,因为它还将禁用项目缓存清除、项目索引等功能


相反,我选择创建验证器和水槽。我把所有的逻辑放在一个类中,这个类可以评估一个项目应该使用什么语言,并且制作了一个项目验证器,如果它有多余(或缺少)的语言版本,它就会失败。然后将验证器添加到全局规则中。我还创建了一个几乎相同的栏位,以便更轻松地查找和修复此类错误。

这将适用于所有项目,而不仅仅是特定的项目/子集。是的,你是对的,我在发布后注意到了项目部分。不是100%确定每个项目是否有这样做的方法。我认为也没有,不是OOTB。你可以做的内容部分,但语言变化。。。它必须是非常定制的。内容编辑器是否需要访问权限才能在其他地方添加其他语言?是的。他可以添加其他项目的语言版本。实际上,我要完全禁止item
A
的语言版本,不管它是内容编辑器还是其他角色。我只想完全阻止item
A
的语言版本。仅使用英文版本,仅此而已。是否有兴趣连接到
项:addversion
事件并在创建版本时取消/删除该版本?