Sharepoint 使用DocumentTemplate部署ContentType

Sharepoint 使用DocumentTemplate部署ContentType,sharepoint,document,content-type,Sharepoint,Document,Content Type,首先,我创建了几个测试列… 其次,我创建了一个新的内容类型(源自文档) 接下来,我创建了一个模块,将word 2013模板文件(.dotx)部署到/\u cts//MyCustomTemplate1.dotx <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Module Name="DocumentTempl

首先,我创建了几个测试列…
其次,我创建了一个新的内容类型(源自文档)


接下来,我创建了一个模块,将word 2013模板文件(.dotx)部署到/\u cts//MyCustomTemplate1.dotx

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="DocumentTemplates" RootWebOnly="TRUE" Url="_cts/MyDocContentType1">
    <File Path="DocumentTemplates\MyDocumentTemplate1.dotx" Url="MyDocumentTemplate1.dotx" Type="Ghostable" />
  </Module>
</Elements>

将内容类型添加到库将启用文档模板…
例如,当我创建一个新项目“MyDocContentType1”时,它会打开Word 2013。
但是文档模板未正确绑定到服务器-文档信息面板未显示,我无法添加任何引用sharepoint内容类型列的快速部分。

当我通过SharePoint Web UI分配文档模板时,它确实起作用

有什么想法吗

编辑:word模板(.dotx)已经知道SharePoint列。在上一步中,我手动分配DocumentTemplate(设计word模板)。现在.dotx模板的功能已经完成,我想将其作为SharePoint解决方案的一部分进行部署(例如,部署到新创建的网站集)

编辑:当然,它使用编程方法通过功能事件接收器分配DocumentTemplate属性。这不是我想要的解决方案。仅声明性


在我看来,它像一只虫子。如果我转到内容类型,编辑/更新文档模板(更新-不上载新模板!),并从该内容类型创建一个新文档,它将开始工作

我假设您直接在word中创建了*.dotx文件,并将其添加到Visual Studio中

它不起作用的原因是dotx文件需要引用Word文件本身中编码的SharePoint字段

我建议:

  • 在不使用任何文档模板的情况下部署内容类型
  • 将内容类型添加到文档库
  • 编辑新创建的列表内容类型(在文档库中)并上载一个空的*.dotx模板:现在SharePoint将创建dotx文件的副本,添加所有内容类型列,并将新的dotx文件保存在文档库的表单/文件夹中;在此之后,将有一个具有正确关联的空白dotx文件-通过在文档库中添加一个具有内容类型的新文档来测试它,并检查“信息”面板
  • 在SharePoint Manager中打开文档库(或使用SharePoint Designer,或导航到表单/文件夹),然后下载SharePoint生成的dotx文件
  • 根据您的需要自定义此dotx文件
  • 删除文档库并收回wsp包
  • 像以前一样,向解决方案和内容类型中添加最终的dotx

我已编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。我创建的Word文档了解SharePoint列。在第一步中,我手动添加了DocumentTemplate。但在完成这项工作之后,我希望将“功能完整”dotx部署为SharePoint解决方案的一部分。所以你说的很好,但是我不认为这是我所说的“部署”部分的一个解决方案。
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="DocumentTemplates" RootWebOnly="TRUE" Url="_cts/MyDocContentType1">
    <File Path="DocumentTemplates\MyDocumentTemplate1.dotx" Url="MyDocumentTemplate1.dotx" Type="Ghostable" />
  </Module>
</Elements>