【问题标题】:Deploy ContentType with DocumentTemplate使用 DocumentTemplate 部署 ContentType
【发布时间】:2014-06-16 13:46:47
【问题描述】:

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

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ContentType ID="0x0101000F16F9EDC2D547C48480B02B918168DD" Name="MyDocContentType1" Group="Custom Content Types" Description="My Document Content Type 1" Inherits="TRUE" Version="0">
    <FieldRefs>
      <FieldRef ID="{d17ecdc8-991a-4efc-a758-bbb522dd2f62}" DisplayName="My Test Column 1" Required="FALSE" Name="MyTestColumn1" />
      <FieldRef ID="{8e9ef300-b566-4939-8b3c-760e13afb6d5}" DisplayName="My Test Column 2" Required="FALSE" Name="MyTestColumn2" />
    </FieldRefs>
    <DocumentTemplate TargetName="~site/_cts/MyDocContentType1/MyDocumentTemplate1.dotx" />
  </ContentType>
</Elements>

接下来我创建了一个模块,将我的 word 2013 模板文件 (.dotx) 部署到 /_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 Web UI 分配文档模板时,它确实有效。

有什么想法吗?

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

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

对我来说,它看起来像一个错误。如果我转到内容类型,编辑/更新文档模板(更新 - 不上传新模板!)并从该内容类型创建一个新文档,它开始工作......?!

【问题讨论】:

标签: sharepoint document content-type


【解决方案1】:

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

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

我建议:

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

【讨论】:

  • 我创建的 Word 文档了解 SharePoint 列。在第一步中,我手动添加了 DocumentTemplate。但是完成之后,我想将“功能完整”的 dotx 部署为 SharePoint 解决方案的一部分。因此,您所说的可能非常有效-但就我询问的“部署”部分而言,我认为这不是解决方案。
猜你喜欢
  • 1970-01-01
  • 2010-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多