我需要创建一个可以创建一些内容页面的SharePoint功能。我知道如何为文档库创建ListInstance元素,但是如何将Web部件页面添加到列表中?
我已经使用Web UI(_layouts / spcf.aspx)创建了一些页面,但是我如何在ListInstance中使用它们?有没有办法导出这些内容并在我的功能中使用它?或者我应该采用不同的方式来解决这个问题?
答案 0 :(得分:1)
前段时间我做了类似的事情,但随后发布了Pages。使用功能我正在为页面库配置发布页面。虽然你所描述的情况并非如此,但它可能会让你知道如何处理它。我在我的博客@ http://blog.mastykarz.nl/provisioning-publishing-pages-features-declarative-markup/
上描述了我的发现答案 1 :(得分:1)
我担心你无法使用ListInstance功能,ListInstance只允许你根据现有列表模板创建一个List。但您可以尝试为列表创建新的Schema,并且需要在List的schema.xml中执行此操作。在schema.xml文件的末尾,您将看到如下所示的条目
<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>
这决定了List的表单列表。您需要添加另一个表单,您可以创建另一个条目,例如
<Form Type="NewForm" Url="NewForm2.aspx" SetupPath="pages\form.aspx" WebPartZoneID="Main" />
您将获得另一个页面NewForm2.aspx,UI将根据文件form.aspx存在于位置C:\ Program Files \ Common Files \ microsoft shared \ Web Server Extensions \ 12 \ TEMPLATE \ Pages,您可以复制form.aspx并对其进行更改,并将SetupPath URL指向新文件。如果您要创建新的View页面,可以使用Schema.xml的标记