在Sitecore中,通过对话框进行的发布限制存储在继承的发布基本模板下 - 例如,项目级可发布复选框存储在{{ 1}}。
我曾希望能够通过语言限制发布,但上述字段在语言之间共享,因此适用于所有语言。
显然我可以取消共享字段,但我不确定其中可能存在的其他影响。有没有人试过这个或者实现了另一种解决方案?
答案 0 :(得分:1)
您可以按语言限制项目的发布,但也可以按版本。这些内容存储在Lifetime
字段部分,而不是Publishing
部分。
这样您就可以将特定语言的特定版本标记为 unpublishable ,但它不会影响该语言的所有版本。
除此之外,一个选项是将新字段添加到Unversioned的基本模板,也许是#34; Publishable In Language"。然后,您可以考虑在publishItem
管道中添加一个新步骤,在确定是否要发布版本时将其考虑在内 - 这可能发生在DetermineAction
步骤之后,Sitecore使用它自己的逻辑来确定是否要发布一个项目。不幸的是,这个课程不容易被覆盖并使用私人方法,因此它不适合扩展本身。