Adding feeds

A new feed is created by selecting 'Add feed' or 'New' from the components->datafeeds menu selection in the joomla administrator.

First visit the affiliate company's website and retrieve the feed url. Copy the feed url and past it into the 'feed url' field of the feedconfiguration.  Give this configuration a (unique) name.

Selecting the class

Each type of feed has it's own parser class.  You must select the correct class for a correct import. The default setting is 'auto detect', this will work for most XML feeds, however 'auto detect' will not work correctly for most CSV feeds. When using CSV feeds select the correct version (using the right delimiter) manually.

Below shows the picture for Legwear International a webgains feed.

hit the apply button, the feed should be fetched and the right hand should show data. The next step is to specifiy the mapping of the feed to the database using the 'Field Selection' sub menu. The component will try to prefill fields.

Groups and select fields

The database compromises 10 fields for categories, the first field 'Select0' or 'Group' is a fixed value entered in the feed configuration. The Select0 is the main category topic of the feed.

The other nine fields are mapped from the actual feed. For this tutorial the setup as to groups 'Fashion' and 'Accommodation', for this field the correct value for the Select0 field would be 'Fashion'. If you website is just a single topic the Select0 field is probably less relevant as a 'grouping' parameter, however you could use it the create a group of 'Premium' and a group of 'Normal' feeds. ( and use a module later to have a top pick from the premium feeds )

To the component the 10 fields have no specific meaning. Whenever starting a new group you must determine first how you want to use the fields ( and stick to it ). This tutorial will create a website with two groups, the mapping for the groups will be:

Select0 Fashion Accommodation
Select1 Category Country
Select2 Sub Category Region
Select3 Sub Sub City
Select6 Size  
Select7 Color  
Select8 Gender  
Select9 Brand  

The order of the fields is not important, however life will be easier if you keep them in some common sense order.


For the Legwear International feed the mapping will look like:

Hit the Save button, and click 'Cron/Import data' the actually import the feed.

The callback function in the feed configuration allows to parse all items thru a filter, manipulating the data. This will be covered in another article.


The examples for the other three feeds of this tutorial: (affiliatewindow)


Bellvilla ( Tradetracker)

Waytostay (Tradetracker)



After adding and importing (cron) the feeds, you should see the feeds in the feed submenu and some information about the imported items in the 'overview' and 'items' sub menu's.


Next step Adding a menu

price comparison with joomla

Finding identical products

The real problem creating a price comparison website using joomla or any other script is finding identical products. For some product ranges price comparison is possible using unique codes like the EAN or ISBN code. Although even these codes are not as unique as you might hope they a quit good base for price comparison. In some fields like holidays or fashion ean codes are less common or not supplied in the datafeed. Finding identical (or even similar) product required some creative thinking, for accommodations the 'accommodation name' might be good option to use, for mobile phone the brand and type are indicators for more or less identical phones.



Whatever your choice of 'identical products' is, the component supports finding siblings with the exact same 'key'

How to use

In the feed configuration assign the desired key to a 'Select' field. For example assign the ean field to select7. Assign the same key to the same select field for all your feeds ( at least feeds used in the same group/Select0) . The example below show the 'ean' field from the feed assigned to the database field 'Select 8'

In the menu configuration select assigned field for siblings (in the advanced tab) and the number of siblings to show.

In the example below the items are related using the 'Select 8' database field. For each item a maximum of 5 siblings are shown. For each feed ( = 'Merchant') only one item is show. And the siblings are order, thus this configuration will show the five cheapest merchants.


Creating a layout

In the layout use

$this->assignRef('siblings', $this->get( 'Siblings')); 

to get a list of siblings of the displayed items. Loop throught the array to display each sibling.

A layout is not included in the distribution. An example layout and help setting it up can be obtained as part of a support license


Example Samsung GSM Telefoons

Example LCD Televisie


Adding webgains feeds


for webgains a username and password are required to download the feeds. It's best to add an extra user for this. Follow the link 'Manage Users' under 'Account' in the menu bar. Pick a nice username and password and select the access level 'none ( no login)'


Read more: Adding webgains feeds

Adding affiliate window feeds

Feeds from affiliatewindow (AW) work fine with the component.  AW feeds are always compressed using zip or gzip format. The component does support de gzip format, however you need to enable it by adding: define('USE_GZOPEN',true); (only old version)

to the callback script ( use the edit link in the administrator or edit the feeds.php using a shell or ftp program)

On the right side of the AW main window there is a datafeed link, this will open a new window ( the create-a-feed link does the same).


(the first time a api key will be generated, this might lock the window, try reloading)



The screen allows to create a filter, it is recommended to have a single merchant in a feed. Clicking the ' select merchants' gives a list of a merchants. Ensure to select approved merchant only.


After selecting the merchant and optionally adding Categories or Brands filter click next.

Select the CSV format and gzip encoding. Both comma and piped format is suported ensure to select the correct on in the feed configuration later.


Copy the datafeed url ( no need to download). Go to the joomla datafeeds administrator, select 'Add feed' or 'New'. Paste the url in the 'feed url' fieldd, enter a feed name (name of the merchant) and select the correct CSV class ( here ' , & " '; auto detect does not work correctly for AW feeds). Hit Apply, now the right side should show example data. Map the feed using the 'Field selection' on the left side, Save and run the cron.