SharePoint内容类型:从父级删除列

时间:2009-09-25 18:35:15

标签: sharepoint wss-3.0

我正在尝试创建一种将继承自联系人内容类型(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>

4 个答案:

答案 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继承的所有类中可用,而它们永远不会在那里使用,甚至更糟糕的是被误用......