Forums / Install & configuration / Multilingual RSS

Multilingual RSS

Author Message

Steven E. Bailey

Wednesday 14 February 2007 7:25:40 am

Is a multilingual RSS feed possible? I set up an RSS feed which works great for the primary language - English... but I don't see where I can set it up for the French version of the site and going to the feed from the French siteaccess gets the English feed too...

Is this possible/documented? How do I set this up?

Certified eZPublish developer
http://ez.no/certification/verify/396111

Available for ezpublish troubleshooting, hosting and custom extension development: http://www.leidentech.com

Claudia Kosny

Thursday 01 March 2007 6:04:46 am

Hi Steven

Just in case this is still an issue:
Let's assume that you have an feed 'news' from the english siteaccess 'en' and the french siteaccess 'fr', e.g.
http://host/index.php/en/rss/feed/news
and
http://host/index.php/fr/rss/feed/news
If you fetch the feed from the first url eZ checks whetehr there is an cache file for this feed. If yes, it fetches the cache file, otherwise it creates the feed from scratch based on the 'en'siteaccess.
If you fetch the feed the feed from the second url it does the same, just with the 'fr' siteaccess.
If you don't specify an siteaccess, it takes the default access/

The problem is that the cache file is named by the name of the feed and since the name of the feed is 'news' no matter the language, both urls use the same cache file.

To solve this just change the naming scheme of the cache file so it includes the language for the current siteaccess in the name which means you need to change/override the file kernel/rss/feed.php.
Here the changes that work for me (around line 60):

//******************** before ***********************************//
//    $cacheFilePath = $cacheDir . '/rss/' . md5( $feedName ) . '.xml';
//******************** after ****************************************//
   $language= $config->variable('RegionalSettings', 'ContentObjectLocale');
   $cacheName = $language. '_' . md5($feedName);
   $cacheFilePath = $cacheDir . '/rss/' . $cacheName . '.xml';

//*********************end of after *********************************//

Claudia

kracker (the)

Thursday 01 March 2007 6:49:20 am

Is anyone else interested in submitting a patch, to the issue system?

Along with a detailed use case with the feature request description.
To provide for this feature as optional in stock eZ?

//kracker

<i>Home Movies : Landstander Theme</i>

Member since: 2001.07.13 || http://ezpedia.se7enx.com/