Pro license


Support is taking way to much time to keep doing for free. You may still try to ask a question and I probably will send an answer. However paid work, family life and nice weather might prevent a prompt answer. You can solve the first issue by obtaining a pro-license.

The component is still for free

What you get

  • A grateful developer
  • Hints and tips for hidden features, like custom title, full title and description search, click-out page
  • Access to the pro forum.
  • Example templates for the siblings and merchant logo feature ( on request )

What you don't get

It is impossible to give you endless hours of support for the relative small amount of the pro license. Their is support for the endless hidden en unclear features of the component but you won't get extented support like custom parsers, component and module support or hands on support. You can get a live session with skype and/or teamviewer but not as part of the pro license.

How much?

52.50 euro excluding 21% VAT / 65.00 including 21% VAT


payment details

(requires registration, you will need an account anyway)

Revenue sharing

If you are looking  more long term support, cooperation based on revenue sharing could be an interesting option

Internal server error

Internal Server Error

On some servers, when running the component you get a message like

The server encountered an internal error or misconfiguration and was unable to complete
your request.
Please contact the server administrator, and inform them of the time the error occurred,
and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

This usually only occurs when importing feeds, either when hitting the apply (1.5) or save(1.7) button or when running the import/cron.

This error message is mostly related to server configuration or security problems, for example:

  1. typos in the .htaccess,
  2. file permission issues,
  3. disallowed usage of ini_set and similar,
  4. usage of incorrectly blocked functionality like remote opening of files

From a security point of view it is excellent that the server does not reveal the real problem it's quite a challenge to solve these kind of errors. Actually it is close to impossible or very time consuming.

To find the real problem  get into the error log of your server often available in your servers admin panel.

For the point above

  1. com datafeeds does not change the .htaccess so this shouldn't cause problems
  2. some servers require the permissions of the files/directories site to 644/755. some even require correct ownership. That might be a problem when ftp'ing files. (and see point 4 as well)
  3. the component does a few ini_sets however the server should simply ignore them. or raise warnings only.
  4. the component does external file requests using the url_file_open permission. If it is not allowed the component reverts to curl trying to  write the files to disk first. That might cause file permission issues. If the host blocks the request incorrectly it might cause a server error.


Requirement test.

Under System requirements there is a small script to test your server.




Google sitemaps

The component has a build in feature to generate google sitemaps

url the generate a sitemap of sitemaps:





This sitemap of sitemaps contains the links to the sitemaps for each datafeeds menu item. The general syntax for a sitemap for a single menu is

https://website/index.php?option=com_datafeeds&view=items&format=xmlmap&Itemid=<menu id>

site map depth

The sitemap will show an url for each menu on each menu level defined in the menu configuration. Google will not parse sitemaps containing over 50.000 pages. To limit the number of levels added to the sitemap and therefor reducing the number of pages in the sitemap use the parameter depth xml map in the menu configuration


Datafeeds 4 Joomla 1.7

Development for Joomla 1.7 is ongoing.

There is an installer for joomla 1.7.

Joomla 1.7 installer

This contains both the component en module, the joomla-search plugin in not included and  probably never will (use com_datafeeds search).


Full installer

This installer combines joomla with the datafeeds component and example feeds and menu's like this site.

This is installer is highly recommended to get started.

joomla 1.7 bugs and issues

Joomla 1.7 (live) site.  A simple site but it shows all the elements of the component: the component itself, module with a 'menu', 'list' and 'custom' templates.


using Product Feeds from Google Affiliate Network

The component works fine with the CSV Product Feeds from the Google Affiliate Network.

Two problems You cannnot fetch the feeds directly from, they will ftp the feeds to your server and the files are zipped.

getting the files

Setup an ftp account on your server and enter the required data in the Product Feeds Setup within the Google Affiliate Network (subscriptions -> products ).

After google transferred the data you can use full file path in the feed configuration insteadd of an url. The location of the file depends on the settings made on your server and in the Feeds Setup at google. For a cpanel managed website a typicall location could be:


unzipping the files

unlike gzipped files, php does have a builtin function to parse zipped files on the fly. Same problem applies as with the share-a-sale files, the parser must unzip the container.

A parser class is available for license users

To solve : encoding

Example dog supplies

Adding text, keywords and descriptions using mod_datamenu

New location

{jcomments off}

mod_datamenu allows to add extra text, keywords and descriptions to product pages.

  1. Add a new module to you joomla site, use mod_datamenu with the layout 'Article' or 'Artikel'
  2. Add new content to your site, thus add a joomla article. The article is mapped to your com_datafeeds menu using the article alias. The other settings are not relevant for mod_datamenu

The article alias is your joomla menu's alias + the page slug, replacing the slashes with dashes.

Read more: Adding text, keywords and descriptions using mod_datamenu

Importing unique items/avoiding duplicates

Depending on the kind of feed you have there might be a lot of duplicates in your feed, for example the same travel trip with different departure dates, or widgets being identical except for the color.

Depending on your needs you want to skip or actually import these nearly duplicate items.

The importer determines duplicates on a hash based on the feed name, the title of each item, and the values in the select fields.

Take an simple example feed called 'Widgets feed'

# name type category
1 soft widget soft blue
2 soft widget soft red
3 big widget soft blue
4 big widget hard red

Assume the name field from the feed is assigned to the title in the feed configuration and the Select1..9 fields are left blank.


As we import the are now 2 unique items since the hash to determine unique items is based on the feedname+title feed, thus items number 1 and 2 and item numbers 3 and 4 are identical.


Assume the name field is assigned to the title and the type field is assigned to the Select 1.


Now there will be three unique elements. Number 1 and 2 are still identical, however 3 and 4 will differ since 'soft' and 'hard' are different.

Assume in addition we assign the category to Select 2 now we will import four items into the database since the combintion of feedname+title+Select0-9 is different for each item..

You can change this behaviour using a callback function. Assume you don't want to assign the 'category' field to a Select value but still have all items in the database.

Create a callback function and use code like below to create your own hash:

function u_cb(&$item) {

Often different items have different deeplinks so you could use:


unique titles

function u_cb(&$item) {

Tweaking the SEF url's

How to get rid of the '2-', 'q-' and 't-' in the SEF urls?

short answer

you can't

long answer

the url contains vital information to display the correct items from your database. The keywords in the url must match the location of the keyword in the database. Therefore you can't simply remove the numbers in the url. Same goes for the title parameter ( 't-'), it indicates that the query is on the title and not a category, and the 'q-' indicating a com_datafeeds search.

There are options to remove some of the unwanted parameters, however there is no generic solution. Below is a brief  description on how to customize the template.

Removing the t-

In the module and component templates you will find the code used to generate the url to a product (title), example:

$product_url=JRoute::_( $this->where['baselink']."&". make_urlencoded(array("qt"=>$item['title'])));

(not all templates have a product link, and the code might differ look for the qt)

Create a new template and create your own url to replace to old one:


Now add a rule to your .htaccess

RewriteRule /?Product/(.*) index.php?option=com_datafeeds&view=items&Itemid=2&qt=$1&q1= [QSA]

where the '2' must be changed to the correct menu item id and the empty q1 is to fool the joomla router

Tweaking other fields

The same can be achieved for single fields, for example a list of 'Brands' on a fashion site, url :


in the menu configuration the field Select9 is mapped to the menu level 6, so the rewrite rule becomes:

Rewriterule /?Merk/(.*) index.php?option=com_datafeeds&view=items&Itemid=4&q6=$1&q1= [QSA]


Removing the q-

you can't with modifying core code

Removing the numeric id

you can't

The URI of a com_datafeeds menu defines the input for the database query. Each position in the URI maps to a field defined in the menu configuration. If the path is complete there will be no numbers:

If the URI contains gaps the numbers are needed to map correctly, in the example mapping the keyword 'Adidas' to the menu level 3:

to avoid the numbers:

  1. do not use the module template 'search', 'ajax' and similar pull-down menu's
  2. when using the default menu module template  ( and similar ) set levels to 1, this suppresses direct links to deeper menu levels.

Whenever a keyword contains a dash, the numeric value is added as well, due to joomla core behaviour.








Callbacks functions

This page  tries to explain the usage of callback functions. callbacks are php-functions used to filter and manipulate feed data. Each item in a feed is parsed  by the callback function. In the feed configuration the default callback is set to generic_cb. You can change this to your own functions. Callback functions go into the feeds.php script, there is a 'edit callbacks' tab/link in the menu's


Read more: Callbacks functions