customer_account:template_manager:template_manager_plugins
Plugins for the template manager
With the newest templates html3.1.tpl or plenty2.tpl (plentyMarkets), Findologic offers plugins to adapt the search result easily and as you desire.
You can continue to access smarty variables directly as usual. For the relevant documentation, please visit our documentation about the template manager.
At the moment we offer the following plugins to adapt the search result easier:
Name | Description |
---|---|
{logo} | Integrates the Findologic logo in the desired color scheme. |
{chosen_filters} | Adds the filters currently selected by the user. |
{promotion} | Adds promotion image if triggered. |
{filter name="FILTER"} | Inserts the filter options corresponding to the parameters. |
{not_found} | Outputs the desired response if no products have been found. |
{paginator} | Outputs links to the navigation. |
{results} | Displays the products found. |
{sort} | Enables result sorting. |
{generated_filters} | Outputs the filers configured in the customer area. |
{query_info_message} | Generates a text that tells the user what they searched for and how many results were found. |
The functions in detail
All parameters are optional, but some are required to obtain sensible results (for the “filter” function for example).
logo
The {logo}
plugin allows you to easily display a logo with a direct link to findologic.com.
The only thing you might need to do is to style the logo with CSS, in order to place the logo at the right side and above the search results.
If you want to know more about how to implement the Findologic branding, see our documentation about Findologic branding.
Example:
{logo color="findologic_logo_neg_grau_hg_en.png"}
German logo
Parameter | Value | Output | |
---|---|---|---|
“no parameter” | |||
color | findologic_logo_neg_orange_hg_de.png | ||
color | findologic_logo_neg_grau_hg_de.png | ||
color | findologic_logo_neg_schwarz_hg_de.png | ||
Transparent | |||
color | findologic_logo_neg_orange_transparent_de.png | ||
color | findologic_logo_neg_grau_transparent_de.png | ||
color | findologic_logo_neg_schwarz_transparent_de.png | ||
For websites with dark background | |||
color | findologic_logo_neg_weiss_de_darstellung.png | ||
color | findologic_logo_neg_weiss_transparent_de.png | 1) |
English logo
Parameter | Value | Output | |
---|---|---|---|
color | findologic_logo_neg_orange_hg_en.png | ||
color | findologic_logo_neg_grau_hg_en.png | ||
color | findologic_logo_neg_schwarz_hg_en.png | ||
Transparent | |||
color | findologic_logo_neg_orange_transparent_en.png | ||
color | findologic_logo_neg_grau_transparent_en.png | ||
color | findologic_logo_neg_schwarz_transparent_en.png | ||
For websites with dark background | |||
color | findologic_logo_neg_weiss_en_darstellung.png | ||
color | findologic_logo_neg_weiss_transparent_en.png | 2) |
Russian logo
chosen_filters
The {chosen_filters}
plugin allows you to easily display all chosen filters.
Examples:
{chosen_filters} {chosen_filters name="color" remove_label="Klick Me!"} {chosen_filters remove_all_only="1" remove_all_label="Please remove those filters."}
Parameter | Value | Description | Default |
---|---|---|---|
“no parameter” | Supplies all selected filters as a link to remove them. | ||
name | cat | Supplies all selected category filters as a link to remove them. | |
name | vendor | Supplies all selected vendor filters as a link to remove them. | |
name | price | Supplies all selected price filters as a link to remove them. | |
name | attribute-name3) | Supplies all selected attribute filters as a link to remove them. | |
removeable | 0 | Supplies the selected filters as a text, not as a link for removal. | 1 |
remove_label | String | The given value is submitted as a title to the link (appears with onMouseOver). | “Remove filter” |
remove_all | 0 | If used in order not to display the link “Remove all filters”. | 1 |
remove_all_label | String | The given value is adopted as a text for the “Remove all filters” link. | “Remove all filters” |
remove_all_only | 1 | Only the link to remove all filters is displayed. | 0 |
currency | Currency that should be displayed for the selected price filter. | € | |
<Filtername> | Desired title | Title that should be displayed for a desired filter category4) | Default is “manufacturer” for “vendor”, “category” for “cat”, otherwise the title of the filter category will not be directly adopted. |
promotion
The {promotion}
plugin allows you to easily display promotions set in the customer account. Here you can find how to set up a promotion.
Example:
{promotion}
filter
The {filter}
plugin allows you to easily display a certain filter.
{filter}
plugin to load your filters, then the filter configuration in the customer account won't work. If you want to use these configuration, use {generated_filters} instead.
Examples:
{filter name="cat"} {filter name="Farbe" type="color-picker"} {filter name="price" type="range-slider"}
Parameter | Value | Description | Default |
---|---|---|---|
“no parameter” | Yields an empty box; at least the parameter “name” is required for a sensible output | ||
name | cat | Supplies all selectable category filters | |
name | vendor | Supplies all selectable vendor filters | |
name | price | Supplies all selectable price filters. Possible as slider | |
name | Attributsname | Supplies all selectable attribute filters | |
type | color-picker | Places a symbol of the selectable colour in front of the names of the selectable colours (learn more) | Filter name display |
type | select | Displays the filters in a drop-down field | Filter name display |
limit | Integer | Sets the maximum number of filters to be displayed | “infinite” |
offset | Integer | Sets the position of the first filter to be displayed | 0 |
action_url | String | Specifies an absolute path prefix | |
show_frequency | Boolean | The number of associated hits is not displayed | 15) |
not_found | String | The given value is displayed if no further filters have been found | No further filters available |
sort | String | relevance ⇒ sort acc. to relevance, count ⇒ Sort acc. to number of results, numeric ⇒ Sort numerically6) | Alphabetically |
currency | String | The unit of currency (only usable for the price filter) | € |
separator | String | The decimal separator for prices (only usable for the price filter) | , |
Display with dropdown-menu
If you have already grown fond of your former template display, you can recreate it in the following way amongst others:
{filter name="vendor" limit="5"} {filter name="vendor" offset="5" type="select" not_found=""}
If required, an empty initial option can be added in this way:
<script> jQuery(".flSelectorBox select").prepend('<option value="#">Please select</option>'); jQuery('#flMainFilterBalken select option[value=#]').attr('selected','selected'); </script>
Displaying prices with sliders
It is possible to display prices using a slider in price areas. This is supported with type=“range-slider”
.
{filter name="price" type="range-slider"}
Displaying the vendor logo
If you wish to have the corresponding vendor logo displayed alongside the name, you can achieve this quickly and easily. See our documentation about manufacturer logos for further informations.
Configuring single filters / hiding filters with no further filter options
If you wish to specify values for particular filters (e.g. sorting), insert the following code for the filter display (in this case, “size”). In this way, you can also hide filters, for which no further filter options are available.
{assign var="filter" value="Size"} {if $FILTERS.$filter.filters} <div class="flFilterBox"> <strong style="font-size:12px;">{$filter}</strong> <div class="flFilterBoxFilters">{filter name="Size" sort="numeric"}</div> </div> {/if}
Hiding particular filters
If you do not wish to display particular filters, insert the following code:
{assign var="filter" value="Size"} {if $FILTERS.$filter.filters} <!-- {filter name="Size"} --> {/if}
Showing particular filters under certain circumstances only
In order to display a filter, for example if a particular GET parameter is set (&test=true
), insert the following code:
{if $smarty.get.test==true} {filter name="Size"} {/if}
Displaying a filter independently of the category
If you only wish to display a filter if a certain category is selected, you can achieve this as follows:
{if $PARAMETER.attrib.cat[0]=="Category_Path"} {filter name="Special filter"} {/if}
Filter order
By default, the filters for category, vendor and price range are always displayed in the templates. Further filters are displayed according to availability and relevance:
<div id="flMainFilters"> <div class="flFilterBox"> <strong style="font-size:12px;">Category</strong> <div class="flFilterBoxFilters">{filter name="cat"}</div> </div> <div class="flFilterBox"> <strong style="font-size:12px;">Vendor</strong> <div class="flFilterBoxFilters">{filter name="vendor"}</div> </div> <div class="flFilterBox"> <strong style="font-size:12px;">price range</strong> <div class="flFilterBoxFilters">{filter name="price"}</div> </div> </div> {if $MORE_FILTERS_COUNT > 0} <div id="flExpandMoreFilters"><a href="#">More filters</a></div> <div id="flMoreFilters" style="display: none;"> {foreach from=$FILTERS key=category item=categoryFilters name=categories} <div class="flFilterBox"> <strong style="font-size:12px;">{$categoryFilters.name}</strong> <div class="flFilterBoxFilters">{filter name=$category}</div> </div> {/foreach} </div> {/if}
If you wish to have certain filters always displayed, insert a corresponding entry for this filter in the template. Take a filter for the attribute “color” for example:
... <div class="flFilterBox"> <strong style="font-size:12px;">price range</strong> <div class="flFilterBoxFilters">{filter name="price"}</div> </div> <div class="flFilterBox"> <strong style="font-size:12px;">Color</strong> <div class="flFilterBoxFilters">{filter name="color"}</div> </div> ...
not_found
You can use the {not_found}
-plugin, to display individual message if a query has no results on the search result page.
Examples:
{not_found} {not_found message="No matching results have been found. Please don't hesitate to contact us by phone under 123/456 or by E-mail under <a href='mailto:support@xy.com'>support@xy.com</a>!"} {not_found message="<script type='text/javascript'>window.location = 'http://www.shop.de/no-result.html';</script>"}
Parameter | Value | Description | Default |
---|---|---|---|
“parameterless” | Returns the message “No products have been found” | ||
message | String | The given value is displayed if no products have been found | No products have been found |
paginator
You can use the {paginator}
-plugin for configuring the pagination of the search result pages.
Examples:
{paginator} {paginator type="pageSize" sizes="10|20|50|100"}
Parameter | Value | Description | Default |
---|---|---|---|
“parameterless” | Indicates the paginator with the preset product numbers. | ||
type | pageSize | Forces the paginator with the submitted product numbers to display | |
sizes | Int|Int|Int|Int | The inserted numbers are made available for selection | |
label | String | Serves for the description of the selection | '' |
If you are using type=“pageSize”
, you must indicate the corresponding “sizes”!
Ensure that the label is only taken into account when defining type=“pageSize”
.
results
You can use the {results}
-plugin for customization of the search result pages.
Examples:
{results type="plenty"} {results items="Artikelnummer: %ORDERNUMBER%|%TITLE%|%IMAGE%|<span class='preis'>%PRICE%€</span>|inkl. %TAX_RATE% %PERCENT% Ust." cols="4" price_from="ab" show_overridden_price="1" img_width="100" img_height="100"}
Parameter | Value | Description |
---|---|---|
type | plenty , websale , id | If you only wish to output the ID's of the products, select a corresponding “type”. (Default: items) |
items | String | Will be explained in the following table. |
cols | Int | Number of lines of results |
price_from | String | Prefix for “from” prices |
show_overridden_price | Bool | If it is an “instead” price, it is displayed with a “1”. |
img_width | Int | Maximum image width |
img_height | Int | Maximum image height |
img_url | String | Specification of a prefix for all image URLs |
By specifying the “items” parameter, you can customize the individual result. To do so, the submitted string is split by a “|” and the identifier resolved within the % character.
Possible identifiers:
Identifier | Description |
---|---|
ORDERNUMBER | Item number |
TITLE | Content of the title |
IMAGE | Image URL |
URL | URL of the item detail page |
PRICE | Price |
TAX_RATE | Tax rate |
SUMMARY | Content of the summary |
PERCENT | % sign |
Output of IDs
It is also possible to output only the IDs of the results in the template. The display is then adopted by the shop system, guaranteeing that the item display in the navigation and the search is consistent:
{results type="id"}
Output example:
<flProductID>896</flProductID> <flProductID>898</flProductID> <flProductID>984</flProductID>
Other values from the product information can still be output as well. In this case, the value PROPERTIES.plenty_id
is being output in the tag PLENTY_ID
. Because unique=“1”
is set, each ID is output exactly once:
{results type="id" tag="PLENTY_ID" value="PROPERTIES.plenty_id" unique="1"}
The output then resembles the following:
<PLENTY_ID>1</PLENTY_ID><PLENTY_ID>2</PLENTY_ID>
sort
This automatically adds a combo-box with sorting options. This plugin has no options.
Example:
{sort}
generated_filters
This plugin outputs the filters configured in the customer login.
Filter Response HTML 3.0/3.1:
Filter Response HTML 2.0:
You can access the filter configuration in the customer area under Settings → filter configuration.
See our documentation of the filter configuration for further information.
Embedding into the template
To output the configured filters, embed the following code at a suitable location:
{generated_filters}
Conversion of old templates
If your template does not yet use the {generated_filter}
plugin, please perform the following steps:
1. Remove the following section in your template:
<div id="flMainFilters"> [...] </div> {if $MORE_FILTERS_COUNT > 0} [...] {/if}
2. Insert the following code:
{generated_filters}
query_info_message
The {query_info_message}
plugin generates a text that tells the user what they searched for and how many results were found.
Including special handling for
- selecting a category
- selecting a brand
- showing Shopping Guide results
- showing Smart Did You Mean value
Parameters
and used to customize messages for different scenarios, in case the defaults are insufficient.
In all texts, the placeholder %HITS%
is available for the total number of results.
cat_searched_text
In case a category is the single selected filter (e.g. via Smart Suggest) and no query is given, this is shown.
- Available placeholders:
%FILTER_NAME%
name of the category filter (e.g. Category, Kategorie).%CAT%
value of the selected category (e.g. Kitchen, Küche).%HITS%
amount of products found (e.g. 38).
- Default (en):
Search results for %FILTER_NAME% <strong>%CAT%</strong> (<strong>%HITS%</strong> hits)
- Default (de):
Suchergebnisse für %FILTER_NAME% <strong>%CAT%</strong> (<strong>%HITS%</strong> Treffer)
vendor_searched_text
In case a brand is the single selected filter (e.g. via Smart Suggest) and query is not given, this is shown.
- Available placeholders:
%FILTER_NAME%
name of the vendor filter (e.g. Vendor, Hersteller).%VENDOR%
value of the selected vendor (e.g. Nike, Puma).%HITS%
amount of products found (e.g. 38).
- Default (en):
Search results for %FILTER_NAME% <strong>%VENDOR%</strong> (<strong>%HITS%</strong> hits)
- Default (de):
Suchergebnisse für %FILTER_NAME% <strong>%VENDOR%</strong> (<strong>%HITS%</strong> Treffer)
shopping_guide_text
In case the results are shown in response to a Shopping Guide session, this is shown.
- Available placeholders:
%SHOPPING_GUIDE%
name of the shopping guide (e.g. Scarf Guide, Produktberater für T-Shirts).%HITS%
amount of products found (e.g. 38).
- Default (en):
Search results for <strong>%SHOPPING_GUIDE%</strong> (<strong>%HITS%</strong> hits)
- Default (de):
Suchergebnisse für <strong>%SHOPPING_GUIDE%</strong> (<strong>%HITS%</strong> Treffer)
query_searched_text
In case the results are based on a search term, this is shown. This has the highest precedence. If Smart-Did-You-Mean is used, the effective query is used automatically.
- Available placeholders:
%QUERY%
searched search term (e.g. shoes, schuhe).%HITS%
amount of products found (e.g. 38).
-
-
default_text
In case none of the scenarios above match, e.g. in case of an empty query with our without multiple selected filters, this is shown.
- Available placeholders:
%HITS%
amount of products found (e.g. 38).
-
-
All values that replace the placeholders are already escaped, so it doesn't have to be done by the user.
Feel free to use simple HTML in override texts for emphasis.
Usage
- For default use, place the plugin inside of
.fl-query-info > span
, but it can be used anywhere. because it doesn't rely on specific styles. - Optionally override messages as desired (see Parameters and Examples).
Examples
Here are two simple code examples that shows the usage of this plugin.
Simple
<div class="fl-medium-12 fl-columns fl-query-info"> {if $TOTAL_RESULTS > 0 } <span> {query_info_message} </span> {/if} </div>
Overriding some texts
<div class="fl-medium-12 fl-columns fl-query-info"> {if $TOTAL_RESULTS > 0 } <span> {query_info_message cat_searched_text='%HITS% products match filter %FILTER_NAME% with value %CAT%.' query_searched_text='Found %HITS% results for %QUERY%'} </span> {/if} </div>
vendor=“brand”
displays the “brand” title for selected filters of the “vendor” category; several sequential special signs are replaced by _ (underscore): this_that=“other”
shows the title “other” for selected filters of the “this & that” category