コンテンツクエリ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


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9