前回のままでは本文がすべて表示されてしまうため、本文から30文字分のみを表示し全文を読みたいユーザーには "詳細" リンクから参照できるよう調整します。また New! のアイコンも表示するようにします。
作業内容
- タイトルの隣に New! アイコンを表示する
- 本文の表示を制限し、詳細情報へのリンクを追加する
タイトルの隣に New! アイコンを表示する
- SharePoint Designer 2007 で コンテンツ クエリ Web パーツを追加したサイトを開きます。
- [フォルダ一覧] - [Style Library (スタイル ライブラリ)] - [XSL Style Sheets] を展開し、ItemStyle.xsl を右クリックしチェックアウトします。
- ItemStyle.xsl をダブルクリックします。
- " すべてのお知らせ用スタイル" テンプレート内から、次の部分を見つけます。
 <a href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}">
 <xsl:value-of select="$DisplayTitle"/>
 </a>
- 今回はタイトル部分のリンクを削除しておくため、"<a href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}">" および "</a>" を削除し、<xsl:value-of select="$DisplayTitle"/> の部分のみが残るようにします。
- <xsl:value-of select="$DisplayTitle"/> の直後に以下のタグを追加します。
 <xsl:value-of select="$DisplayTitle"/>
 <xsl:if test="ddwrt:IfNew(@Modified)">
 <img src="/_layouts/1041/images/New.gif" alt="新しいアイテム"/><img src="/_layouts/images/blank.gif" width="13" style="visibility:hidden" alt=""/>
 </xsl:if>
続いて、次の作業を行います。
本文の表示を制限し、詳細情報へのリンクを追加する
- "すべてのお知らせ用スタイル" テンプレート内で次のタグを見つけます。
 <xsl:value-of select="$bodyContent"/>
- 次のように変更します。この例ではリンクをクリックすると別ウィンドウで表示するようにしています。
 <div class="description">
 <xsl:value-of select="substring($bodyContent,1,30)"/>
 ...(
 <a href="{$SafeLinkUrl}" mce="{$SafeLinkUrl}" target="_blank"
 title="{@LinkToolTip}">詳細</a>)
 </div>
- 上書き保存をします。また今回で ItemStyel.xsl の編集は終わりますのでメジャーバージョンを発行するようにチェックインをしておきます。
最後に、結果を IE で確認します。まだこのままでは、詳細リンクをクリックしてもルートのサイトコレクションがない場合はエラーとなってしまいます。次回は、ルートのサイトコレクションを作成せずにアイテムのリンク先を表示できるよう修正します。
 

コメント