我正在尝试创建一种将继承自联系人内容类型(SharePoint附带)的内容类型。 我需要那里的大部分字段,但希望能够删除其中的一些字段。
有没有办法可以通过内容类型的XML定义删除我不想要的字段?
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<ContentType ID="0x01004B56BB872BFE984D9611B5D8CF52CB60" Name="Child Contact" Description="Inherits from Contact" Group="...">
<FieldRefs>
??? What would I put there to remove fields that exist in the parent?
</FieldRefs>
</ContentType>
</Elements>
答案 0 :(得分:3)
在内容类型定义中使用此语法:
<FieldRefs>
<RemoveFieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name ="Title" />
</FieldRefs>
您必须为要删除的每个字段找到正确的ID。
答案 1 :(得分:1)
通过设置HIDDEN =“TRUE”属性,只需将它们隐藏在子内容类型中即可。 有关完整的属性列表,请参阅here。
答案 2 :(得分:0)
如果您不需要这些字段,那么为什么要首先从该内容类型继承?
答案 3 :(得分:0)
我建议你重新考虑你的内容类型继承结构。定义包含两个子ct共享的列的父ct,并将其他列添加到相应的子ct。
将其视为OO编程,您不会将仅在子类B中使用的方法从A类继承到父类A,并且在此过程中使该方法在从A继承的所有类中可用,而它们永远不会在那里使用,甚至更糟糕的是被误用......