我有以下特點:的ContentType DocumentTemplate
<?xml version="1.0" encoding="utf-8"?>
<Feature Id="9A3C5D02-A2EB-4725-97F7-CDA6DE319F1B"
Title="My Custom Types"
Scope="Site"
DefaultResourceFile="core"
Hidden="TRUE"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="Elements.xml" />
<ElementFile Location="templates/MeetingMinutes.docx" />
</ElementManifests>
</Feature>
包含以下的Elements.xml:
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Module Name="Templates" Url="_cts/Meeting Minutes" Path="templates" RootWebOnly="TRUE">
<File Url="MeetingMinutes.docx" Type="Ghostable" />
</Module>
<ContentType
ID="0x01010066DD088A6B8B46BCA775CCD119FBB3E8"
Name="Meeting Minutes"
Group="Custom Content Types"
Version="0">
<FieldRefs />
<DocumentTemplate TargetName="MeetingMinutes.docx"/>
</ContentType>
</Elements>
然後我用一個自定義列表模板內該ContentType的:
<ContentTypes>
<ContentTypeRef ID="0x0101">
<Folder TargetName="Forms/Document" />
</ContentTypeRef>
<ContentTypeRef ID="0x01010066DD088A6B8B46BCA775CCD119FBB3E8">
<Folder TargetName="Forms/Document" />
</ContentTypeRef>
<ContentTypeRef ID="0x0120" />
</ContentTypes>
我部署解決方案,激活功能並創建列表模板的實例。我進入圖書館,然後選擇設置>文檔庫設置>內容類型:會議紀要>家長:會議紀要>高級設置。我現在處於網站內容類型的高級設置中。現有文檔模板的URL是MeetingMinutes.docx,並且有一個指向http://myserver/sites/testsite/_cts/Meeting%20Minutes/MeetingMinutes.docx的(編輯模板)鏈接。一切都很閃亮。
不過,我打的後退按鈕所以兩次我回到了列表內容類型的設置。這次當我點擊高級設置時,現有文檔模板的URL仍然是MeetingMinutes.docx,但沒有(編輯模板)鏈接。令人不安。
按上,我回去AllItems.aspx,然後單擊新建>會議紀要。當Word正在加載時,我看到一個小小的打開對話框,其中顯示:打開:http://myserver/sites/testsite/Shared%20Documents/Forms/Document/MeetingMinutes.docx,Word響應:「Word無法閱讀此文檔,它可能已損壞。」
因此,文檔模板正常工作的網站內容類型(如果它確實我沒有好),但沒有在列表內容類型(如果我真的需要它)的工作。現在,我知道我可以把它放在_layouts中,但是從我的read,_cts是the way來做到這一點。我究竟做錯了什麼?
因此*這是* Folder TargetName的用途。我從未完全理解這一點。我最初從schema.xml中離開了這個問題,因爲我不認爲這很重要。爲了讓我的錯誤更清楚,我編輯了這個問題。謝謝! – 2010-03-22 13:35:45
很酷,我也一直在想這個!感謝您指出了這一點。 – 2010-03-22 14:11:16