2

我正在尝试创建一个从联系人内容类型(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

4 回答 4

3

在您的内容类型定义中使用此语法:

<FieldRefs>
      <RemoveFieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name ="Title"  />
</FieldRefs>

您必须为要删除的每个文件找到正确的 ID。

于 2009-09-26T21:05:26.737 回答
1

只需通过设置 HIDDEN="TRUE" 属性将它们隐藏在子内容类型中。有关属性的完整列表,请参见此处

于 2009-09-28T06:01:10.860 回答
0

如果您不需要这些字段,那么为什么要从该内容类型继承?

于 2009-09-25T19:43:16.063 回答
0

我建议你重新考虑你的内容类型继承结构。定义一个父 ct,其中包含两个子 ct 共享的列,并将其他列添加到相应的子 ct。

将其视为面向对象编程,您不会将仅在从类 A 继承的子类 B 中使用的方法放在父类 A 中,并且在此过程中使该方法在从 A 继承的所有类中都可用,而它们永远不会在那里使用,或者更糟糕的是,被滥用......

于 2009-09-26T03:39:53.093 回答