1

これが私の状況です:

私は SharePoint 2007 Enterprise で作業しています。展開してアクティブ化するとリストを作成する機能があります。これまでの私の通常のワークフローは、ソリューションを展開してアクティブ化し、SharePoint Designer を開いてリストをカスタマイズするというものでした。

私のカスタマイズは通常、かなり複雑ですが、単純なものにしておきます。この場合、 を編集AllItems.aspxし、データ ビューを XSLT データ ビューに変換してから、静的テキストを含む列を 1 つ追加します。

いくつかの異なるツール (SPSource、VSeWSS、SharePoint Manager、OCDExportList など) を使用して、カスタムschema.xmlビューとすべての既定のビューを抽出しましたが、コードがどこにあるのかまだAllItems.aspxわかりません。カスタマイズされました。

(上記のツールのいずれかを使用して)抽出するときAllItems.aspxは、デフォルトと同じです。<View>schema.xmlの要素は、次のように 1 行に短縮されます。

<View DefaultView="TRUE" 
      MobileView="TRUE" 
      MobileDefaultView="TRUE" 
      Type="HTML" 
      FPModified="TRUE" 
      DisplayName="All Documents" 
      Url="Forms/AllItems.aspx" 
      Level="1" 
      ContentTypeID="0x" />

ここで本当に立ち往生しています...どうすればいいのかわかりません。それは可能ですか?機能にカスタマイズを含めることができれば、時間 (およびドキュメント) を大幅に節約できます。

他に不足している情報があれば教えてください... ありがとう!


最新の調査結果:

この数時間で、さらに多くのことがわかりました。リストをリスト テンプレートとして保存すると、.stp ファイルを .cab ファイルとしてローカルに保存して、その内容を抽出できます。ファイルの 1 つは、と他のいくつかのセクションmanifest.xmlを含むものです。schema.xml

これらのセクションの 1 つは、 for each ビュー<webparts>を持つセクションです。<webpart>これらの各<webpart>要素には、非常に長い文字列が含まれています...それらの文字が実際に何を表しているのかわかりません。

重要なことは、ソリューションの一部として展開する場合、カスタム ビューは実際には Web パーツでなければならないということですが、私は肯定的ではありません。

4

3 に答える 3

1

私は少し前に同様の問題に直面しました。非常にカスタマイズされたビューを作成する必要があり、ListFormWebPart を完全に放棄して、データをレンダリングする独自の Web パーツを作成する必要がありました。

通常、SPDesigner で aspx ファイルをカスタマイズすると、すべての変更が aspx ファイル自体に反映されます。これを SPDesigner で開くと、行ったすべての変更が表示されます。<View>XSL データ ビューに変換した後、標準の ListFormWebPart は、schema.xml で指定されたタグを気にしない DataFormWebPart に置き換えられます。ListFormWebPart の aspx ファイル自体を調べます。

リストに必要なすべてのカスタマイズを行い、リストをテンプレートとして保存し (関連する AllItems.aspx が含まれます)、機能でそのテンプレートを使用してリストを作成してみませんか? コードから余分な列を追加できます (動的でテンプレートに含めることができない場合)。

于 2009-05-05T15:45:21.663 に答える
1

はい、できます。Codeplex http://spm.codeplex.com/から SharePoint マネージャー ツールを入手します。

ファーム内のマシンにインストールすると、すべてのオブジェクトを表示するツリー ビューを介してファームを参照できます。

Sharepoint GUI でリストを作成し、SPM で参照します。

SPM を使用すると、MOSS/WSS で作成されたリスト ビュー (左側のプロパティ グリッドに表示される) を説明する xml を抽出できます。これを manifest.xml に挿入できます。

于 2009-06-04T21:56:31.640 に答える
0

私は同様の問題を抱えており、これについて多くの調査を行ってきました。私にとってデータビュー Web パーツは、Sharepoint で最も強力なコンポーネントの 1 つです。残念ながら、ソリューションを .wsp パッケージとして提供する必要があるため、サイトを作成してそのサイトで Designer を使用することはできません。デザイナーを使用してデータビューを作成し、そのデータビューのコードを編集して ListID と Guids を ListName と実際のリスト名に置き換えるという 2 段階のアプローチを取りました。これにより、リスト名が同じである限り、エクスポートして任意のページ/サイトで使用できます。私のソリューションでも Web パーツ ページのドキュメント ライブラリを作成しています。onet.xml ファイルを使用して、Web パーツを含むページをこのライブラリに追加できると思います。私はできる限り早くそのテストの結果を得ようとします。

于 2009-05-30T08:04:16.797 に答える