googleSearch (CSE) component
Written by kksou   
Tuesday, 06 January 2009

This is the good old googleSearch component with one key difference: it uses Google's new Custom Search Engine (CSE) at the backend.

Very Important

Please make sure you have set up a Custom Search Engine in your Google's account before you can use this component. Once you have created a Custom Search Engine, Google will assign a unique CSE ID to that engine. You need to enter the CSE ID into the config page to start using this component.

What's exciting about Google's new Custom Search Engine (CSE)

There are many exciting new features in Google's new Custom Search Engine (CSE). Here are just some of them:

  • Search multiple sites. If you have set up three different sites, say site1.com, site2.com, and site3.com, the CSE now allows you search only within these three sites.
  • Refinements: Refinements are labels that you apply to websites. They appear as a list of links above search results, offering users a way to narrow their search. When a user clicks a refinement label, the sites that you have labeled are given priority in the results. In addition to labeling sites, you can also specify additional words that are added to users' queries when they click a label, providing even more targeted results.
  • You can see a live demo of refinements on this site. Enter a keyword, say "menu" in the search box at the top-left navigation area. Did you see the 8 refinement labels there: "PHP-GTK2", "Joomla", "PHP-GTK2 sample codes", "Joomla forum articles", etc. Try clicking on any of these refinement labels. It's pretty cool!

There are many other exciting and advanced features in Google's new Custom Search Engine.

You can see the complete official Google document here: http://www.google.com/coop/docs/cse/

Differences between googleSearch (CSE) and googleSearch components

  • googleSearch component: uses the traditional Google Search API.
  • For this component, you can just install and use right away. You do not even need a Google Adsense ID.

  • googleSearch (CSE) component: uses Google's new Custom Search Engine (CSE).
  • For this component, you'll have to first set up a Custom Search Engine in your Google's account. Once you have created a Custom Search Engine, Google will assign a unique CSE ID to that engine. You need to enter the CSE ID into the config page to start using this component.

Add more power with googleSearch (CSE) module

You might also want to complement this component with the googleSearch (CSE) module: googleSearch (CSE) module

The module allows you to add an additional Google search box as a module. This means that you can place the search form in any module position you like. When the user clicks the search button, the search result will be displayed in your Joomla main body by the googleSearch component.


Latest Version

v1.0 (for Joomla 1.0) and v1.5 (for Joomla 1.5)
Released January 6, 2009

Demo

The search on this site is using the googleSearch (CSE) component/module. You can test it in the second module on the left menu.

How to install

Set up is as easy as 1-2-3:

  1. Install the component
  2. Enter your Custom Search Engine's unique identifier (cx)
  3. Enter your desired width of the search result

That's all you need to get started! You'll now have Google Search right inside your Joomla page!

Please make sure you have set up a Custom Search Engine in your Google's account before you can use this component. Once you have created a Custom Search Engine, Google will assign a unique CSE ID to that engine. You need to enter the CSE ID into the config page to start using this component.

For advanced settings, please refer to Customizing the Component.

sh404SEF users

If you are using the googleSearch component together with sh404SEF:

  1. Go to sh404SEF Configuration.
  2. Click the "By Component" tab.
  3. Look for the component "googleSearch(CSE)", and set the first column as "skip".
  4. Don't forget to click "Save".

Please also make sure you read the following article:

Running googleSearch with sh404SEF: fixing the error 'JFolder::folder: Path is not a folder: /language'

"JFolder::folder: Path is not a folder: /language"

For those of you who get this error message, please refer to the article below for the solution:

Running googleSearch with sh404SEF: fixing the error 'JFolder::folder: Path is not a folder: /language'

Download

Very Important: Please make sure you have set up a Custom Search Engine in your Google's account before you can use this component. Once you have created a Custom Search Engine, Google will assign a unique CSE ID to that engine. You need to enter the CSE ID into the config page to start using this component.

Note: To upgrade to the newer version, simply uninstall the old version and install the new version of the plugin.

Version History

  1. Version 1.00: released Jan 6, 2009.

Customizing the Component

Please refer to the googleSearch: Customizing the Component. They are about the same.

Note that for the new Google CSE, many of the options are now stored right on Google's server, e.g. the colors for the title, background, links, etc.

Note also that the Google Adsense ID and channel ID is now encoded right inside the CSE ID.

Styling the Component and Module using CSS

You can set the style of the search field and search button to the exact format you want through CSS, for example, the font family, font size, foreground and background color, margin, border, etc.

I've designed such that the css style for the component is independent of that of the module. So you can have different styles for the component and the module.

For example, if you're using the default Joomla 1.5 template, define the following style in <joomla root folder>/templates/rhuk_milkyway/css/template.css. If you're using the default Joomla 1.0 template, define the following style in <joomla root folder>/templates/rhuk_solarflare_ii/css/template_css.css.

  1. Search Box
  2. Component Module
    div.googleSearch_cse input.inputbox {
    	font-family: Verdana;
    	font-size: 12pt;
    	font-style: italic;
    }
    
    div.mod_googleSearch_cse input.inputbox {
    	font-family: Verdana;
    	font-size: 12pt;
    	font-style: italic;
    }
    
  3. Search Button
  4. Component Module
    div.googleSearch_cse input.button {
    	font-family: "Arial Bold";
    	font-size: 12pt;
    	margin-left: 4px;
    }
    
    div.mod_googleSearch_cse input.button {
    	font-family: "Arial Bold";
    	font-size: 12pt;
    	margin-top: 6px;
    }
    
  5. The entire search form (use this if you want to set the background or draw a border around the entire search form)
  6. Component Module
    div.googleSearch_cse {
    	background: #33FF66;
    }
    
    div.mod_googleSearch_cse {
    	background: #33FF66;
    }
    

Replacing the Default Search module of Joomla 1.5

Suppose you want to replace the default search module of Joomla 1.5 using the default rhuk_milkyway template, here are the steps:

  1. Log on as administrator and go to Module Manager.
  2. In the input box "Filter:", enter "search".
  3. You should now see two items: Search (the default mod_search), and Google Search.
  4. Make sure Enabled is set to No for mod_search, and Yes for Google Search.
  5. Assuming that you're using the default Joomla 1.5 template, define the following style in <joomla root folder>/templates/rhuk_milkyway/css/template.css
    div.mod_googleSearch table {
    	margin-left: auto;
    	margin-right: 6px;
    }
    
    div.mod_googleSearch input {
    	width: 145px;
    	margin: 15px 0 9px 0;
    }
    

You should now see the googleSearch module instead of the default mod_search in module position user4.

FAQ (Frequently Asked Questions)

Q1: googleSearch_cse does not work, and I'm using sh404SEF on my website.

A1: For googleSearch_cse to work on websites using sh404SEF, please refer to the solution here.

Q2: googleSearch_cse returns the error "Google Error: Bad Request. Your client has issued an illegal request."

A2: This error usually occur when you did not enter a correct CSE ID in the config page.

Q3: I got the error message "Fatal error: Cannot redeclare class googleSearch_DisplayForm in googlesearch.lib.php on line 12"

A4: This is because you are trying to run the googleSearch_cse with an older version of googleSearch. To run both together, you need to upgrade googleSearch to v1.0.14/v1.5.14.

Q4: Can I run googleSearch_cse and googleSearch together on the same page?

A3:Yes, you can, as long as you've upgraded googleSearch to v1.0.14/v1.5.14.

Please make sure you have set up a Custom Search Engine in your Google's account before you can use this component. Once you have created a Custom Search Engine, Google will assign a unique CSE ID to that engine. You need to enter the CSE ID into the config page to start using this component.


User reviews   Average user ratings:    4.5   (from 7 users)
  1. Michel Plante
    January 10, 2009 1:38pm
    Useful tool - need language support

    Hi,
    I've just installed this component and its associated module. VERY useful and easy to install.

    Can you provide for some more additional customization? Like allowing us to enter the text string that makes up the "Search" button so that I could enter "Rechercher" in French.

    Keep up your good work. It made my day!

  2. kksou
    January 12, 2009 6:46am

    Hi Michel,

    It's already in the config page - the 4th option "Search Button Label".

    The default is "Search". You can change this to "Rechercher".

    Is this what you have in mind?

    Regards,
    /kksou

  3. Michel Plante
    January 12, 2009 7:53am

    Yes, this is exactly what I need. I think I went through the options too quickly and I missed it. Sorry, my mistake.

  4. mdhissam
    October 05, 2009 6:59am
    need some assistacn

    hi there thanks for this excellent component i need some help from you if ucan that will be great
    1. i need to change the search button with my custom button.

    2.can u tell me how increase the search box height
    that will be great if u can help me thanks

  5. Martijn Rammeloo
    December 27, 2009 11:28am
    Wonderful com and mod

    Thank you!! However, just like mdhissam I'm wondering if it would be possible to use a custom image as a search button.

  6. António Graça
    February 01, 2010 5:13pm

    Hi Fantastic component this. Almost what I was looking for ... It´s possible search in more than one domain? The component allows you to search only in a domain. I would look at 4 or 5 domains and not across the all web. How can I do?

  7. António Graça
    February 05, 2010 12:07am
    Where do I put the rest of the code?

    Hi
    I (think) have the setup done correctly in my account in Google AdSense. Already added a number of domain. I think the problem is the code that google returns. This code has 28 characters (eg Search engine unique ID: partner-pub-1234567891011121:9t99jk1b999). Its only component to place 16. Where do I put the rest of the code? It's important put the channel?
       
    Best regard,
    M. António Graça

Note: You have to be a registered member to leave a comment. Free registration here.

 
< Prev   Next >

Blog - Forum - Privacy Policy - Contact Us
Copyright © 2006-2009. kksou.com. All Rights Reserved