none
検索結果を別ウィンドウで表示したい RRS feed

  • 質問

  • 度々、質問させて頂いております。
    tino0618と申します。
    Sharepoint 2010 でサイトの開発を行なっております。

    サイトの検索結果(検索センターのResult.aspx)を別ウィンドウで表示する事は可能でしょうか。
    サイトの検索ボックスは、マスターページから編集が出来ず、また検索ボックスの
    フィーチャ定義ファイル SearchArea.xml のカスタマイズを調べてみても解決策が見当たりませんでした。

    皆様のお力をお借り頂けますでしょうか。
    宜しくお願い致します。
    2013年2月5日 5:53

回答

  • tino0618です。

    何とか力技で自己解決しましたので、参考までに報告いたします。
    検索の際のパラメータですが、以下のように取得しました。

    キーワード("k="の部分):
     検索BoxのValue値
    検索範囲("cs="の部分):
     要素"ctl00_PlaceHolderSearchArea_ctl01_SBScopesDDL"のValue値を検索範囲とする。
     ただし、Value値がブランクの場合は、"すべてのサイト"を検索範囲とする。
    検索URL("u="の部分):
     getElementByIdで、要素"ctl00_PlaceHolderSearchArea_ctl01_ctl00"の存在を確認する。
     存在する場合は"ctl00_PlaceHolderSearchArea_ctl01_ctl00"のValue値を、存在しない場合は
     "ctl00_PlaceHolderSearchArea_ctl01_ctl01"のValue値を検索URLとする。
     ただし、検索範囲が"このリスト"の場合は、「document.location.href 」で取得したURLから
     最後の"xxx.aspx"を抜いたURLを検索URLとする。

    以上の方法で、何とか対応出来ています。
    スマートな方法では無いと思いますので、もっと簡単な対応方法等ご存知のかたは、
    ご指摘下さい。

    • 回答としてマーク tino0618 2013年2月20日 9:53
    2013年2月20日 9:53

すべての返信

  • 検索センターのマスターページなら挿げ替えられますが、これで良いのでしょうか?

    (参考)
    Converting a Custom SharePoint 2010 Master Page into a Search Center Master Page
    http://blog.drisgill.com/2010/09/converting-custom-sharepoint-2010.html


    ★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/

    2013年2月5日 6:32
  • trapemiya様

    早速、返信頂きありがとうございます。

    trapemiya様から頂いた情報を確認させて頂きましたが、少し違うかなと思いました。
    私の説明が言葉足らずであったかもしれません。
    申し訳ございません。
    サイト側で検索した際に、検索センターのResult.aspxが同一ウィンドウ上に開きますが、
    これを別ウィンドウで開けないかなと思っています。

    何か情報等御座いましたら、ご教授頂けますでしょうか。
    宜しくお願い致します。

    2013年2月5日 7:36
  • tino0618です。

    自己レスです。

    検索結果の別ウィンドウ表示ですが、以下のサイトの情報を元にしてある程度は出来ました。

    http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomizationlegacy/thread/5238f307-ae6c-41f4-8371-ed53df1075d2/

    ただし、このカスタマイズの内容にはドロップダウンリストが無いため、検索範囲(すべてのサイト、このサイト 等)を
    検索条件に設定出来ない状況です。
    カスタマイズした検索ボックスに、検索範囲の機能を追加する方法をご存知の方いらっしゃいますでしょうか。

    2013年2月12日 6:29
  • tino0618です。

    何とか力技で自己解決しましたので、参考までに報告いたします。
    検索の際のパラメータですが、以下のように取得しました。

    キーワード("k="の部分):
     検索BoxのValue値
    検索範囲("cs="の部分):
     要素"ctl00_PlaceHolderSearchArea_ctl01_SBScopesDDL"のValue値を検索範囲とする。
     ただし、Value値がブランクの場合は、"すべてのサイト"を検索範囲とする。
    検索URL("u="の部分):
     getElementByIdで、要素"ctl00_PlaceHolderSearchArea_ctl01_ctl00"の存在を確認する。
     存在する場合は"ctl00_PlaceHolderSearchArea_ctl01_ctl00"のValue値を、存在しない場合は
     "ctl00_PlaceHolderSearchArea_ctl01_ctl01"のValue値を検索URLとする。
     ただし、検索範囲が"このリスト"の場合は、「document.location.href 」で取得したURLから
     最後の"xxx.aspx"を抜いたURLを検索URLとする。

    以上の方法で、何とか対応出来ています。
    スマートな方法では無いと思いますので、もっと簡単な対応方法等ご存知のかたは、
    ご指摘下さい。

    • 回答としてマーク tino0618 2013年2月20日 9:53
    2013年2月20日 9:53