Home arrow Blog arrow Google Custom Search

8月
26
2008

Google Custom Searchを使って検索結果を自分のサイトで表示する

diggに追加!

フォーラムでforum.joomla.orgのようにmod_google_custom_searchで表示できないかと聞かれたのですが、このモジュールではforum.joomla.orgのような表示はできません。

setting_customsearch_11

forum.joomla.orgが、どのように表示しているかというと、見た目は検索結果が自サイトのページ内に表示されているように見えますが、実際はIFRAMEを使って表示されています。検索結果をJoomla!で管理されていない?phpファイルに表示させているように見えます。

これは、簡単にモジュールの新規作成と、テンプレートに書き入れるだけで作ることができます。

作り方

  1. 下記ページから自分のCustom Searchを作成する。
    http://www.google.com/coop/manage/cse/create/1
    その時、Select some sitesで下記のようの設定しておく
     setting_customsearch_00
    後からでもcontrol panelの上部のメニューから変更できます。
    (除外サイトも指定できます。)
  2. 作成してからGoogle Custom Search Engineにログインします。
  3. そして、右側のボタン下のmanage your existing search engines.をクリック
    setting_customsearch_08
  4. 作成したSearch Engineが表示されますので control panelをクリック
    setting_customsearch_09
  5. CodeをクリックするとSearch results hosting optionsというところの下にHost results on your websiteというラジオボタンがあるのでそれを選択し、iframeを選択。
    setting_customsearch_10
    setting_customsearch_01
  6. Specify search results detailsという項目が現れて検索結果を表示するURLを入力するフォームが見えます。そこに検索結果を表示したいURLを入力します。 今回、別ファイルを用意すのではなく、サイト内で表示するようにする(テンプレートを編集する)ので、アクセスできるページならどれでも良いです。
  7. そしてSearch box codeをコピーし、Joomla!の管理画面からモジュールの新規作成でHTMLのモジュールを一つ作成し、HTMLコード部分にコピーしたものを貼り付けます。
    setting_customsearch_02
    setting_customsearch_04
  8. サイトで使っているテンプレートにSearch results code
    setting_customsearch_03
    からコピーしたものをJoomla!1.0.xなら、mosMainBody()、Joomla!1.5なら<jdoc:include type="component" />と書かれている行の上にでも貼り付け、以下のコードを書き加えます。(例えばなので環境により値は異なるかもしれません。)
    setting_customsearch_06 
    Joomla!1.0.xの場合
    <?php
        $google_cx = mosGetParam($_REQUEST, 'cx');
        if(empty($google_cx)): ?>
    	<?php mosMainBody(); ?>
    <?php endif; ?>

    Joomla!1.5の場合
    <?php
        $google_cx = JRequest::getVar('cx', null, 'request', 'string');
        if(empty($google_cx)): ?>
    	<jdoc:include type="component" />
    <?php endif; ?>

    のように検索結果を表示する場合は、MainBodyを出力しないようにする。
    setting_customsearch_07 
  9. 結果 http://demo10.joomler.net/ でデモしています。

setting_customsearch_05

 

Related Articles

アップデートしました : JGTdoc(Google Translation Doc)
JGTdoc(Google Translation Doc)をアップデート(1.0.1)しました。 このプラグインは、Google Ajax Language APIを利用して記事を翻訳してくれます...
セキュリティについてアナウンスされました : Joomla!1.5
Blogger APIをオフにしてください。 とされています。最新のリビジョンを確認してみましたが、Joomla!1.5本体にはまだ反映されていないようです。 MovableType XML-RPC ...
見ていなかったヘルプを眺めてみた:Joomla!
Joomla!をはじめて使い始めた頃からヘルプなど見ていませんが、Joomla!1.5のヘルプを少し眺めていました。1.5では、日本語化されていないのですべて英語です。尚更見ないでしょうが、1.0の時...
記事取得時の時間の補正 : MovableType XML-RPC for 1.5
MovableType XML-RPC for 1.5ですが、Getした際の記事の時間を正しく出力していませんでした。 現在、暫定的に修正したもの(英語版のみですが・・・)を以下に用意しました。 ...
ランダムイメージ・プラスモジュールを提供していただきました : Joomla!1.5
gondayuさんから当サイトで公開してくださいと、mod_random_image_plusモジュールを提供していただきました。Joomla!の基本機能であるランダムイメージを拡張し、クリックすれ...
1.0.13の補足
1.0.13になってパスワード保存時のHash値生成方法が変わりましたが、便利な関数も追加されているようです。 Joomla_Root/includes/joomla.php内6145行目あたりjo...
担当者にはめられる
私もはめ上手ですが、担当者も”か・な・り”はめ上手です。 携帯で出力してもmainbody()が出力されるとさんざんひっぱり回されました。まあ、お互い自分に原因があると思わない性格だからでしょうけど。...
!JoomlaComment 2.40 JP
!JoomlaComment 2.40 JP コメントコンポーネントです。 Joomler!.netで現在使用しています。(肝心のコメントがありませんが・・) Developer: Frank H...
About Google Custom Search モジュール
質問がありましたので補足説明を・・・ Google Custom Searchモジュールの広告表示について(AdSense) Google write : " You...
オンラインで3Dのパッケージイメージを作る
Photoshopのアクションであったり、Win用のソフトで3Dのパッケージ風の画像を作成するものは見たことがあったのですが、WEB上で作成できるサイトがありました。 右のような画像をオンラインで作成...
Joomla! 1.0.14 RC1へ
な、名前がかぶっているではないか・・:Joomla!
QRcode Module を作成してみました
SyntaxHighlighter Plugin : アップデートしました Update !!
MovableType XML-RPCを一部アップデートしました
WebLinkInfoモジュールのベータ版を公開しました:Joomla!1.5
MovableType XML-RPC プラグインをアップデートしました: Joomla! 1.5
Joomla!じゃぱんのフォーラムにやっとログインできた
Joomla!の Cache
JCEを使っていて管理画面が崩れて困っているなら : Joomla!1.5

joomler_kun_48.gif Blog
Joomler! Blog

for Mobile