2012-05-29 77 views
0

我已經創建了一個從項目contenttype繼承的內容類型。所以contenttype automaticaly有字段:標題。訪問/隱藏標題元素

但如何訪問此字段(我想添加一些自定義驗證,並定義它是否顯示在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

我發現這個問題:

如果我想隱藏刪除標題collumn在我的contentType我必須禁用CONTENTTYPES inharitation。但是,在停止吸入之後,定製柱將在部署後消失。因爲它們不是基本類型的一部分。所以這些字段也必須在列表模式中聲明。

MSDN

當SharePoint基金會創建一個列表實例,它僅包括 那些在列表模式列表或 的基本類型模式中聲明的那些列。如果您在列表 架構中引用了站點內容類型,並且該內容類型引用了列表的基本類型架構或列表架構中包含的不是 的站點列,則不包括這些列。您必須在 列表架構中爲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> 
... 
0

您不能隱藏內置標題字段,因爲它基本上是唯一標識符,您需要顯示它。但是,您可以rename your title field這實際上被認爲是最佳實踐,應該完成。

+0

你舒爾是沒有辦法隱藏這個領域?我發現了一些不適合我的例子,但是看起來其他人都成功了。 http://social.technet.microsoft.com/Forums/en-US/sharepointcustomization/thread/5f39ab7d-1332-444d-a5ae-2a2851c398ad#5f39ab7d-1332-444d-a5ae-2a2851c398ad – HW90

+0

好吧,嘗試使用FieldRef方法進行描述那裏,但通常你不應該隱藏標題欄。 –