我创建了一个继承自item itemtype的内容类型。所以contenttype automaticaly有字段:Title。
但是如何访问这个字段(我想添加一些自定义验证并定义它是否以editform形式显示)?
我想进行服务器端验证并使用自定义edititemform。 Perhabs有可能删除/隐藏这个字段吗?
我尝试更改内容类型以隐藏标题:
<Field
ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}"
Name="Title"
StaticName="Title"
DisplayName="Title"
Type="Text"
FromBaseType="TRUE"
Required="FALSE"
Hidden="TRUE"
SourceID="http://schemas.microsoft.com/sharepoint/v3"
/>
<!-- Parent ContentType: Element (0x01) -->
<ContentType ID="0x0100b48c62c42879472aa8f1e1afc4dba7ce"
Name="aa- aa"
Group="Custom Content Types"
Description="My Content Type"
Inherits="TRUE"
Version="0">
<FieldRefs>
<FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" Hidden="TRUE" Required="FALSE" />
</FieldRefs>
但仍然需要并显示标题字段。
答案 0 :(得分:0)
您无法隐藏内置标题字段,因为它基本上是唯一标识符,您需要显示它。但是,您可以rename your title field实际上被认为是最佳做法,应该完成。
答案 1 :(得分:0)
我发现了问题:
如果我想隐藏以删除我的contenttype中的标题列,我必须禁用contenttypes吸入。但在消除了吸入后,定制柱将在部署后消失。因为它们不是基本类型的一部分。因此,字段也必须在列表模式中声明。
当SharePoint Foundation创建列表实例时,它仅包含 那些在列表的基本类型模式中声明的列或 在列表架构中。如果您在列表中引用网站内容类型 架构,该内容类型引用不是的站点列 包含在列表的基本类型模式中或列表模式中, 这些列不包括在内。您必须在中声明这些列 列出SharePoint Foundation的架构,以将它们包含在列表中。
<强> CONTENTTYPE 强>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field ID="{61CC6776-F855-48d5-A4EC-B7CE11CE2324}"
DisplayName="ExpiresDate" Name="ExpiresDate"
Type="DateTime" Required="False"
UnlimitedLengthInDocumentLibrary="FALSE"/>
<!-- Parent ContentType: Element (0x01) -->
<ContentType ID="0x0100b48c62c42879472aa8f1e1afc4dba7ce"
Name="GroupsList - ContentTypeGroups"
Group="Custom Content Types"
Description="My Content Type"
Inherits="false"
Version="0">
<FieldRefs>
<RemoveFieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" />
<FieldRef ID="{61CC6776-F855-48d5-A4EC-B7CE11CE2324}" Name="ExpiresDate" Required="FALSE" ShowInNewForm="FALSE" ShowInEditForm="FALSE" />
</FieldRefs>
</ContentType>
</Elements>
列表架构
...
<ContentTypes>
<ContentTypeRef ID="0x0100b48c62c42879472aa8f1e1afc4dba7ce" />
</ContentTypes>
<Fields>
<Field ID="{61CC6776-F855-48d5-A4EC-B7CE11CE2324}"
DisplayName="ExpiresDate" Name="ExpiresDate"
Type="DateTime" Required="False"
UnlimitedLengthInDocumentLibrary="FALSE"/>
</Fields>
...