2010-12-12 8 views
0

これはさまざまな場所で尋ねられましたが、新しいWebパーツのインストール(これはできません)を必要としない実行可能なソリューションは見たことがありません。CQWP:グループごとにn個のアイテムを表示

"region"の値を含む特定のdoctypeを持つドキュメントを含むドキュメントライブラリがあります。

私は.webpartファイルとContentQueryMain.xsl、Itemstyle.xsl、HeaderStyle.xsl文書で「CustomViewFields」パラメータを変更し、次のような出力を生成するためにCQWPのグループ化機能を使用するために管理している:

<div class="myDocuments">  
<div class="group"> 
    <h2>My region</h2> 
    <ul> 
    <li>Document 1</li> 
    <li>Document 2</li> 
    <li>Document 3</li> 
    <li>Document 4</li> 
    </ul> 
</div> 
<div class="group"> 
    <h2>My other region</h2> 
    <ul> 
    <li>Document 1</li> 
    <li>Document 2</li> 
    <li>Document 3</li> 
    <li>Document 4</li> 
    </ul> 
    </div> 
</div> 

これはすべてうまくいきましたが、地域ごとに最大3つのドキュメントを日付順に表示したいだけです。

これを達成するためのCAMLクエリコードを作成することはできませんでした。したがって、現在の領域に対して3つ作成されたifステートメントを使用して、 CQWPがこれをエクスポートしているXMLは難解です。

現時点ではこれは物事が探している方法です。

<xsl:if test="(count(preceding-sibling::Region = @Region)) &lt 3"> 
    <li><xsl:value-of select="{$Region}" /></li> 
<xsl:if /> 

私は比喩的に窓の外のSharePointを投げる前に、任意の助けをいただければ幸いです!

マット

+0

これは完全な質問ではありません。完全な(できるだけ小さい)XML文書と完全な(できるだけ小さい)欲しい結果を明確に指定してください。変換が達成/達成することを明確に述べてください。 –

+2

あなたが使用しているxsltを提供して、正しいものを修正して送ることができます。 –

+0

これはどこが難しいですか?Sharepoint Webパーツの出力ですから、XMLがどのように見えるかはわかりません。 XSLTブラインドを書くのが好きです。 SharePointが結果の異なるセクションを処理するために3つの異なるXSLTファイルを呼び出すという事実と相まって、サンプルデータを非常に難しくしています。 私は離れて、SharePointがデータで何をしているのか把握し、いくつかのテストデータを共有しようとします。 –

答えて

関連する問題