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
Select2 Sub Category
Select3 Sub Sub


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 the 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

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



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)'


The following pages will depict the setup of a complete joomla affiliatefeeds site The result will be

The description is for a site with two groups :

fashion and accommodation with each two feeds.


Q: Can I remove the Powered By message at the bottom of each page, or the sponsor link at the bottom of the page of the demo page.

A: Yes you can remove these links.

You can use  joomla, the template included with the complete install and the component for free. And you are free to use and modify it as you like. I won't stop you from removing the links.

However I will only tell you how to remove these links in exchange of buying a license.







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.


Both the component and the full joomla install contain example feeds and menu configuration. Have a look before removing them.

Configuring feeds

See this article

Importing the product data

After configuring a feed the data can be imported using the 'cron' menu or by clicking on the 'last update' date in the feed list.

Creating datafeeds menu's

Setting up automatic  feed updates

See automatic import for details about cron's.

New location

For automatic updating the feeds you will need to call the feedcron periodically. On unix style systems this is usually done using a cronjob. Most hosting providers allow to set up some cron.

There are two options calling the webpage using w g e t, curl or lynx. Or using the CLI version of php. The choice depends on the availability using the CLI version is highly recommend, this avoids  max_execution_time problems.

a typical webpage request looks like:

0 4 * * * w g e t

(remove the spaces in w g e t)

a typical command line call:

0 4 * * * (cd  [path to the feedcron];php feedcron.php)