コンテンツクエリWebパーツのカスタマイズ時にXSLTスタイルシートを別立てにする設定方法
コンテンツクエリをカスタマイズする際の必須ノウハウ。既存のXSLTは編集せず別ファイルにスタイルを定義します。SharePoint MVP、PeacePoint社の yama(山崎)さんブログからの転載です。
コンテンツクエリWebパーツのスタイル(表示形式)は、サイトコレクションのルートにあるスタイルライブラリの中にあるXSLTファイルに定義されています。そのため、独自のスタイルを定義する場合は、このファイルを編集することになるのですが、これがかなり大変です。
XSLTの内部構造が、三つのファイルを跨ってひたすら外部参照を繰り返しているため、とても複雑で読み解くのに難儀します。しかも、一か所でも構文ミスがあると、サイトコレクションに存在するすべてのコンテンツクエリWebパーツがエラーになり動作しなくなります。(他にもリンクリストなどの一部表示が正常でなくなるなど影響あり)
一応、スタイルライブラリはデフォルトでバージョン管理機能が有効なので、エラーしても戻せばよいのですが、それでも既存ファイルの修正は非常に緊張します。
結論として、コンテンツWebパーツをカスタマイズする場合、まずマスタである「ContentQueryMain.xsl」「Header.xsl」「ItemStyle.xsl」をコピーして、そちらを参照するようにWebパーツを修正するこをと強くお勧めします。
エクスポートしたWebパーツをテキストエディタで開き、コピーしたXSLファイルのパスを設定する。設定するプロパティは、「HearderXslLink」「MainXslLink」「ItemXslLink」の3個で、それぞれサーバールートからのフルパスを設定する
より具体的な手順は yamaさんのエントリをご参照ください。エクスポートしたWebパーツをテキストエディタで編集するのですが、上記の三か所修正するのがポインロです。(私自身がトライした際は、三箇所目を見落として実現できませんでした…感謝)
[2007]コンテンツクエリWebパーツのカスタマイズ その1
http://blog.sharepointissue.com/2011/01/2007web.html
login