Customising the Smart Search results page

From Joomla! Documentation

This tutorial explains how to customise the search results page in Smart Search. To achieve this you use the Joomla layout override system. You need to be able to create new files and edit them on your web hosting site using FTP or other tools that are available to you (contact your web host if you need more information).

All file paths are relative to the directory in which Joomla is installed. When looking at the files you need to create, it is assumed that you will create the necessary folders if they don't already exist in each case. The directory default_template refers to the template that is set as the default for your site. Please replace this name with the actual name of the template directory.

For more information on layout overrides, read the following pages:

The Search View (Default Layout)[edit]

The default layout search view is divided into three parts: the default layout, the form layout and the results layout.

The default layout (default.php)[edit]

This layout is very simple. It just defines the structure around which the search form and the search results are displayed.

To customise the default layout, find the file:

/components/com_finder/views/search/tmpl/default.php

Copy this to:

/templates/default_template/html/com_finder/search/default.php

Make any adjustments you need to structural elements that contain the search form and the search results. This layout is also responsible for loading the default CSS stylesheet for Smart Search which is located in media/com_finder/css/finder.css, so you might want to alter that to load own CSS rules for Smart Search.

The form layout (default_form.php)[edit]

This layout defines the code required for the search form to operate correctly. The layout contains significant Mootools-based JavaScript code that should not be altered unless you know what you are doing. The view method getFields includes a number of hidden fields that are required for reliable searching.

The search term is defined by the input field with the name of "q".

To customise the default layout, find the file:

/components/com_finder/views/search/tmpl/default_form.php

Copy this to:

/templates/default_template/html/com_finder/search/default_form.php

Make any adjustments you need to the form as required.

The results layout (default_results.php)[edit]

This layout produces the list of matching results for the search term.

To customise the default layout, find the file:

/components/com_finder/views/search/tmpl/default_results.php

Copy this to:

/templates/default_template/html/com_finder/search/default_results.php

This layout handles pagination and loads sub-layouts for each individual search result.

Customising results for a particular content type[edit]

Smart Search can be set up to load a different sub-layout for specific content types. By default each individual search result is rendered using the default_result.php layout. However, if present, for the standard Joomla content types, the following layout files will be loaded instead:

Content type Layout file
Article default_article.php
Category default_category.php
Contact default_contact.php
News feed default_newsfeed.php
Web link default_weblink.php

Custom content types may look for other layout files.

Developer note: The name of the layout file that will be used is defined in the $layout property of the Smart Search plug-in for that content type.