我有一个使用子布局 sub1 的项目。使用此子布局创建的项目有一个字段" Switch Columns"我想删除或隐藏(或隐藏/删除部分" Columned Grid"如果可能的话)。请注意,我不希望模板的每个项目都隐藏该字段;只使用 sub1 的项目(因为模板正由不同的子布局使用)。
有没有办法通过sublayout的ascx文件中的代码执行此操作?
答案 0 :(得分:3)
您可以使用额外的图层继承来解决。
创建2组模板字段: 模板字段最小集 带有附加字段的模板字段。
sub1从Template字段最小集继承 其他布局使用带有最小集合和添加字段的继承的模板。
也许这也是可用的: 对于内容编辑器中的隐藏。 你可以拒绝" Field Read"对于模板字段或节项目上的角色/用户。
答案 1 :(得分:1)
您可以使用getContentEditorFields
中的自定义处理器隐藏内容编辑器中的字段,请参阅此帖子:
http://ctor.io/hide-fields-in-the-sitecore-content-editor/
但正如其他答案所暗示的那样,我会过度思考你的做法。就个人而言,我要么使用两个单独的子布局(不同的列数,您可以在以后轻松交换它们而不会丢失它的datsource)或使用它作为渲染参数。
答案 2 :(得分:0)
不,那是不可能的。在内容编辑器中查看项目时,不会加载子布局。我建议你重新考虑你的架构。这种字段应该是一个渲染参数。或者,您可以创建一个单独的模板作为这些子布局的数据源。
答案 3 :(得分:-1)
可能是内容编辑器的自定义管道?如果您点击<renderContentEditor>
管道,您可以检查项目的演示文稿,嗅出子布局,并注入一些JavaScript来隐藏面板。