バックグラウンド:
コンテンツタイプを展開するサイトもあり、このサイトには多くのサブサイトがあります。コンテンツタイプは、各サブサイトで使用されます。
機能がデプロイされてアクティブ化されたときに、カスタムの新規/編集/表示フォーム(Webパーツページ)をプッシュしたいモジュールがあります。
これらのフォームをコンテンツタイプ(FormUrls)に直接設定したいのですが、フォームを正しく参照できるように、フォームを展開する方法と場所がわかりません。
私は_layoutsでこれを行う方法を知っており、リスト定義スキーマ(セットアップパス)の使用方法も知っていますが、バージョン要件のためにこれらのいずれも使用できません(可能な場合は_layoutsを避けようとします)。リストとフォームの履歴は、作成時に維持する必要があります。リスト/フォームの新しいバージョンがリリースされると、新しいコンテンツタイプは以前のコンテンツタイプを継承し、新しいフォームは新しいコンテンツタイプに設定されます。
また、Infopath(ライセンスの問題)を使用することもできません。
モジュールを使用してフォームをコンテンツタイプ(_cts /コンテンツタイプ名)のURLにデプロイしようとしましたが、コンテンツタイプパスを正しく取得できないようです。これは簡単な例です(実際のコードを提供することはできません。申し訳ありません)。
モジュール
<Module Name="Module1" Url="_cts/Content Type" RootWebOnly="FALSE">
<File Path="Module1\MyNewForm.aspx" Url="Module1/MyNewForm.aspx" />
</Module>
コンテンツタイプ
<FormUrls xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms/url">
<New>Module1/MyNewForm.aspx</New>
</FormUrls>
上記の例は機能せず、Module-> Url属性を削除しようとしたので、ルートにデプロイされましたが、これも役に立ちませんでした。これに関する助けをいただければ幸いです。