I'm posting my solution to help others that may find it useful or get ideas out of it.
> Using RealURL, my links are generated this way when I'm on page1: > > http://www.domain.tld/ > http://www.domain.tld/page1.1 > http://www.domain.tld/fr/share/subpages > > (note the "fr" in the last link) > > But when I'm on subpages, links are all prepended with "fr": > > http://www.domain.tld/fr > http://www.domain.tld/fr/page1.1 > http://www.domain.tld/fr/share/subpages > > Now I remember why I wanted all my pages to be prefixed by the language, > even if default language was used. > > ... Meaning I have to find the solution XCLASSing RealURL to dynamically > specify the default language to be used. I found what seems to be the only viable solution and it does not need XCLASSing anymore either. All my websites are dynamically generated, as such, I already generated a file to be included at the beginning of my realurl_conf.php file in order to specify the rootpage_id of my websites. I now changed it a bit to include the default language of the website: // file realurl_project.php $configHosts = array( 'somedomain.domain.tld' => array( 'uid' => 4, 'defaultLanguage' => 'fr', ), 'other.domain.tld' => array( 'uid' => 12, 'defaultLanguage' => 'de', ), ); And in my realurl_conf.php (only relevant parts are shown): ?php require_once('realurl_project.php'); $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array( // snip 'preVars' => array( array( // snip ), array( 'GETvar' => 'L', 'valueMap' => array( 'de' => '1', 'fr' => '2', 'it' => '3', 'en' => '4', ), 'valueDefault' => '{DYNAMIC}', // will be overriden with code below ), ), 'pagePath' => array( 'type' => 'user', 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 'spaceCharacter' => '-', 'languageGetVar' => 'L', 'disablePathCache' => 0, 'expireDays' => 7, 'rootpage_id' => 1, // will be overriden with code below 'segTitleFieldList' => 'tx_realurl_pathsegment,alias,nav_title,title', ), // snip ); $config = $configHosts[$_SERVER['HTTP_HOST']]; if ($config) { $defaultLanguage = $config['defaultLanguage']; $rootpage_id = $config['uid']; // Update default language $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['preVars'][1]['valueDefault'] = $defaultLanguage; // Unset mapping for default language to force sys_language_uid = 0 for it unset($TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['preVars'][1]['valueMap'][$defaultLanguage]); // Set rootpage id $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['pagePath']['rootpage_id'] = $rootpage_id; } -- Xavier Perseguers http://xavier.perseguers.ch/en One contribution a day keeps the fork away _______________________________________________ TYPO3-english mailing list [email protected] http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-english
