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 http://www.example.com/administrator/components/com_datafeeds/cron/feedcron.php

(remove the spaces in w g e t)

a typical command line call:

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

 

 


The ninja shadowbox (or lightbox) is a great extension to open images in a lightbox on your website. The ninja can be used to open iframed webpages as well. It is pretty easy to open merchant links in a lightbox on your site instead of clicking away from your site.

First install the ninja extension, in the module settings ensure the 'iframe' option is enabled.

Now you need to create a customized module or component layout

Simply add rel="shadowbox" or rel="shadowbox[list]" to the external links.

demo with a preview gallery in the component

Example code:

 

CSS

the file .../components/com_datafeeds/assets/datafeeds.css contains the css used for the component and the module. Changing this file is not recommended the file is overwritten during every upgrade. Add any changes to your templates css. ( Where the css of your template reside depends on your template, for example .../templates/YOUR TEMPLATE/css/style.css )

Changing the layout's

template specific

Joomla provides a mechanism to change the layout for every component and module for a specific template: template override Simply copy

.../components/com_datafeeds/views/items/tmpl/default_LAYOUT.php

to

.../templates/YOUR TEMPLATE/html/com_datafeeds/items/

or

.../modules/mod_datamenu/tmpl/LAYOUT.php

to

.../templates/YOUR TEMPLATE/html/mod_datamenu/

and modify the copies file.

adding a custom module layout

In modules/mod_datamenu/tmpl copy a layout you want to modify; for example top5table_list.php to top5div_list.php. In the file change the name of the function to match the new file name, in this case Datatop5div_listMenu.

There are three flavours of module layout, based on the file name the dataitems array has different content:

  • for files ending with _list.php the dataitems is a  list of items based on the settings.
  • for files ending with _custom.php dataitems is empty
  • for all other files dataitems is a menu tree

Example

displays items almost like the component does

{include_code_listing /var/www/www.affiliatefeeds.nl/images/code/modascom-3073.txt}

adding a custom sub component layout

(svn 788)

simply copy an existing default_*.php file in .../components/com_datafeeds/views/items/tmpl/ ; for example to default_better.php, the new layout should appear in the drop downbox in the menu configuration.

 

adding a compleet component layout

Copy all files

.../components/com_datafeeds/views/items/tmpl/default*.php

to

.../components/com_datafeeds/views/items/tmpl/yourname*.php

and edit the files.

This method should  work for all joomla component. There is a specific change for this component:

in the file default.xml, copied to yourname.xml you will find base='default' (twice), change this to base='yourname'

 

 

Information on searching can be found here

The first version of the component addressed the dutch affiliate market, therefor most text strings are still in Dutch. The component has an Englsh language file but if your backend or frontend language is different you will see a lot of dutch text. To change  the text to English (and your own language) do the following:

  1. Copy the file language/en-GB/en-GB.com_datafeeds.ini into the directory of your own language xx-YY/xx-YY.com_datafeeds.ini on the server.
  2. Put the file in  administrator/language/xx-YY as well

To translate:

  1. Translate the strings in xx-YY/xx-YY.com_datafeeds.ini
  2. Send the translated file to This email address is being protected from spambots. You need JavaScript enabled to view it. :)

Setting the string in the administrator to English is in progress

 

Setting the front end strings

The strings and the currency sign used on the front end can/must be customised in the menu configuration. The picture below depicts the locations of the strings, on the front page and in the menu.

The joomla article url's show the article id, the category and the section. This leads to canonical issues whenever the section or category changes. Same problem when a section/category menu is added or a site switches from non-SEF to SEF url's.

 

The article canonical plugin will put a canonical link in the header of the document, pointing search engine's to the right location:

 

http://www.affiliatefeeds.nl/en/46-general/3060-quick-guide.html

 

<link href="http://www.affiliatefeeds.nl/en/47-datafeeds/3060-quick-guide.html" rel="canonical" />

 

Joomla 2.5

download

Joomla 1.5

download

Joomla 3.x has its own canonical system.

 

 

 

 

 

The datafeeds component does not provide a method to import affiliate feeds directly as jooma content (yet).

 

Considerations

Affiliate feeds mostly contains large amounts of data, categorized in multiple levels. Joomla only has two levels to categorize articles. Although there are extensions allowing tagging.

Another problem is htat joomla iisnot designed to handle several thousands of articles, ( can be done sure).  Same holds for the tagging extensions, these (probably) can't handle large numbers of tags. Wordpress for example will choke on a category tree containing a couple of thousand tags (the editor goes down first).

 

But importing small sets of data for example top-10 feeds might be feasible.  Plus comment on this article if you would like the functionality.

 

Workaround

 

Based on the same parser ( and using the same parser settings ) the datafeeds2rss tool convert affilaite feeds into rss feeds. This can be used together with a rss import like feedgator:

 

  1. Use the joomla administrator to configure the affiliate feed.
  2. Use the XML link (up left) to download the configuration
  3. Upload the xml file to your datafeeds2rss installation.
  4. Use feedgator to import

 

People over at joomlatune created a nice component to comment on articles and even better it allow to comment on anything using the simple API.


 

it's not a big issue to enable commenting on single item's but it is quite difficult to make it perfect:

 

jcomment assumes that all articles/items are unrelated, but in product feeds an item (product) might appear several times, for example the same hotel from different travel-agency's.

 

Often identical items/product have the same title, but different feeds might have different names for them. And on the other hand items with the same name might be very different.