検索結果に「ファイルの場所を開く」リンクを追加する


Melcher さんのブログに触発されました。FAST Search Server 2010 for SharePoint (FS4SP) の検索結果ページの XSL を少しだけ変更して、Windows 7 などのデスクトップ検索結果を右クリックしてい表示される「ファイルの場所を開く」リンクが表示されるようにしてみました。
以下のスクリーンショットの赤で囲った箇所が該当します。

ViewLocation

クリックすると、そのファイルが置いてあるフォルダを開こうとするリンクです。

実装は非常に簡単で、FAST Search センター サイト テンプレートで作成した SharePoint サイトの検索結果画面に配置されている「主要な検索結果」Web パーツの設定を次の通り変更します。

  1. [場所の表示形式を使用] のチェックを外す
  2. [XSL エディター] ボタンをクリックし、「<!– END Additional links –>」の前と最後の「<!– End of Stylesheet –>」の前に以下の内容を追加します

<!– Open Library–>
<xsl:if test=”isdocument = ‘True'”>
    <a>
    <xsl:attribute name=”href”>
        <xsl:call-template name=”build-location-link”>
        <xsl:with-param name=”list” select=”path” />
        </xsl:call-template>
    </xsl:attribute>
    <br/>
    <span>
        <xsl:text disable-output-escaping=”yes”>ファイルの場所を開く</xsl:text>
    </span>
    </a>
</xsl:if>

 

<xsl:template name=”build-location-link”>
    <xsl:param name=”list” />
    <xsl:variable name=”first” select=”substring-before($list, ‘/’)” />
    <xsl:variable name=”remaining” select=”substring-after($list, ‘/’)” />
    <xsl:value-of select=”$first” />/<xsl:if test=”substring-after($remaining, ‘/’)”>
    <xsl:call-template name=”build-location-link”>
    <xsl:with-param name=”list” select=”$remaining” />
    </xsl:call-template>
    </xsl:if>
</xsl:template>

一応、こちらに XSL ファイル (ViewLocation.xsl) を置いてありますので、参考にしてください。

広告