我有一个功能,即配置1个文档库和2个自定义列表。每个列表都包含一个文件夹,其中包含该列表的schema.xml。每个文件夹还包含相关的表单(AllItems,DispForm,EditForm,NewForm等)。一切都部署/正常工作,但似乎有点多余,相同的表单被复制到每个列表的文件夹中。这些列表没有什么特别之处 - 基本上是默认的文档库/通用列表,其中包含通过新内容类型(从项目/文档派生)提供的附加字段。
据我所知,这些表格非常通用。是否有可以从我的列表中引用的预安装表单,所以我不必部署所有这些额外的文件?有什么理由我不想这样做吗?
更新 - 将评论中的xml移至原始问题以便于阅读:
<Forms>
<Form Type="DisplayForm" Url="Forms/DispForm.aspx" WebPartZoneID="Main"/>
<Form Type="EditForm" Url="Forms/EditForm.aspx" WebPartZoneID="Main"/>
<Form Type="NewForm" Url="Forms/Upload.aspx" WebPartZoneID="Main"/>
<Form Type="NewFormDialog" Path="EditDlg.htm">
....
答案 0 :(得分:1)
如果您未指定具体页面,则会使用虚拟默认值。
除非您使用SharePoint设计器之类的工具来自定义页面,否则所有列表都使用这些模板默认值。然后,该模板用于创建具体页面,您可以自定义特定列表的外观,而不会影响其他列表。
对于我的自定义定义,我使用
<List>
...
<MetaData>
...
<Forms>
<Form Type="DisplayForm" Url="DispForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="EditForm" Url="EditForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
<Form Type="NewForm" Url="NewForm.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
</Forms>
</MetaData>
</List>
如果您没有理由自定义这些表单的开箱即用版本,则可以使用虚拟表单而不是部署副本。