Home arrow Extensions 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

バックアップならこれJombackup
 Joomla!をあれだこれだとさわっているともちろんどんどんデータベースが書き換わっちゃいます。消してしまってから・・・「あっ!」ってことが無いようにバックアップは必ず必要ですよね。この「...
Javascriptの出力順:Joomla!1.5
以前に「システムのヘッドタグより先に出力したい」で書きましたが、システムのタグより先に書き出そうとするとどうしてもそうしなければならないのか・・・。 メールにて問い合わせがあったので再度見てみました...
IE6 スタンドアローン
先日 IE6とIE7の両方の動作確認のため(別のPCにはIE6なので良いのですが、ローカルを見たいので)IE7が入っているメイン機にスタンドアローンで動くというIE6を入れてみた。 http...
コメントコンポーネントをアップグレードしました
コメントコンポーネントを2.40から3.1.0にアップグレードしました。!joomlacomment は、シンプルでCaptchaがついているので使っています。2.40は、少し不具合があったのですが、...
1.0.13の補足
1.0.13になってパスワード保存時のHash値生成方法が変わりましたが、便利な関数も追加されているようです。 Joomla_Root/includes/joomla.php内6145行目あたりjo...
Joomla!1.5.4になって増えたtrigger : Joomla!1.5 Plugin
Joomla!のプラグインは、Joomla!側から指定されたイベントがあったときに呼ばれてプラグインの処理を実行するようになっています。 Joomla!1.5では、1.0.xよりも呼び出すトリガー(...
Joomla!の正しいURIってわかりますか? : Extensions
Joomla!のエクステンションで$_SERVER['REQUEST_URI']をそのまま使っているエクステンションを見かけたので問い合わせから連絡しておいた。私も恥ずかしいこといっぱいしているのでお...
サポートしなければいけないでしょうか?: Joomla! MovableType XML-RPC Plugin
問い合わせがあったので質問です。 MovableType XML-RPC APIでは様々なAPIをサポートしています。じゃあうちのMovableType XML-RPC Pluginは、どうなのよと...
Joomler!.netについて
管理者 Joomler!.netはJoomla! CMS 用のエクステンションやWEB制作を業としているフリーランサーが運営しています。 目的 Joomla!の普及...
テンプレートを更新しました
Googleのモジュールばかりを表示していてそのまんまデモサイトとなっていたのでテンプレートを更新してみました。  まだ、手直ししないといけないところがたくさんあって大変です。デ...
Google Video Search モジュール Update!!
Frontpage Auto Updateプラグインをアップデートしました : Joomla!1.5
Google Video Bar 1.0.4 Update!!
はじめてJoomla!1.5のFCKエディタとJCEエディタを使ってみた : Joomla!1.5
MovableType XML-RPCを一部アップデートしました
一晩たったらもうアップデートしていたよ
Googleのデベロッパー ホーム 日本語
テンプレートを変更してみました
descriptionをブログ記事の表示順に変更してみた : Joomla!1.0.x
システムのヘッドタグより先に出力したい:Joomla!1.5

C_square_trans.png Components
Joomla! Extensions
M_square_trans.png Modules
Joomla! Extensions
P_square_trans.png Plugins
Joomla! Extensions
Templates
Joomla! Extensions
a_delphi.gif Delphi for PHP
Delphi for PHP related

for Mobile