Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   RealURL и многоязычный сайт (http://forum.typo3.ru/showthread.php?t=4330)

jax 18.08.2007 16:01

RealURL и многоязычный сайт
 
Имеем typo3 сайт с 3 языками в одном дереве. Сайт доступен под 3 разными доменами: www.domain.com, www.domain.de и www.domain.ru. Первый показывает контент на английском, второй - немецком и третий на рксском соответственно.
Реализавано сие через следующий TS:
Код:

[globalString= IENV:HTTP_HOST = *domain.de]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
config.baseURL = {$baseURL_DE}
...
[global]

Работает отлично, нареканий нет.
Далее подключаем RealURL:
Код:

...
        'pagePath' => array(
                'type' => 'user',
                'rootpage_id' => 52,
                'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
                'spaceCharacter' => '-',
                'languageGetVar' => 'L',
                'expireDays' => 15
...

И тут возникает проблема в том, что имена для страниц class.tx_realurl_advanced берет всегда английские (defaul язык), т.к. в моем слючае переменная L в GET всегда не определена (язык меняется исключительно в TS на основании значения HTTP_HOST, см. выше).

Как можно разрешить эту проблему?

jax 18.08.2007 22:13

Пока получилось сделать немного через ж...

В localcof.php дабавил такой код:
Код:

if (!isset($_GET['L'])) {
    if ( stripos($_SERVER['HTTP_HOST'], '.de') <> false )
        $_GET['L']=1;
}

Правда есть побочный эффект ко всем ссылкам теперь добавляется ?L=1. Так, что скорее всего надо писать свой userFunction :(

Valery Romanchev 18.08.2007 22:27

Я не давно ответил в листе рассылки.
Сделал точно также

?L=1 - к ссылкам не добавляется. Из-за настроек RealURL
Цитата:

array(
'GETvar' => 'L',
'noMatch' => 'bypass',
),


My site runs on two languages that are attached to a domain each.

Like this:

domain.dk: danish (default language)
domain.com: english
I have this configured on
www.wciom.ru
www.wciom.com



1) I put in index.php (I think possible to put this in localconf.php)

if (!isset($_GET['L'])) {

if ($_SERVER['HTTP_HOST'] == 'wciom.ru') $_GET['L']=0;
if ($_SERVER['HTTP_HOST'] == 'wciom.com'|| $_SERVER['HTTP_HOST'] == 'www.wciom.com' ) {

$_GET['L']=1;
}
}


2) TS

#-----------------------------------------------------------------------
# Language
#-----------------------------------------------------------------------

#config.sys_language_mode = content_fallback
config.sys_language_mode = strict

config.sys_language_overlay = hideNonTranslated
config.sys_language_overlay = 1
config.sys_language_softMergeIfNotBlank = tt_content:image, tt_content:header


# defining the default language
config{
sys_language_uid = 0
language = ru
locale_all = ru_RU
htmlTag_langKey = ru
}

# Setting up the language variable "L" to be passed along with links
config.linkVars = L
[globalVar = GP:L = 0]
config{
sys_language_uid = 0
language = ru
locale_all = ru_RU
htmlTag_langKey = ru
}
[global]

[globalVar = GP:L = 1]
config{
sys_language_uid = 1
language = en
locale_all = en_En
htmlTag_langKey = en
}
[global]



#--------------------------------------------------------
# RealURL
#--------------------------------------------------------

config {
baseURL = http://wciom.ru/
}

[globalString = ENV:HTTP_HOST=*wciom.com]
config.baseURL = http://wciom.com/
[global]

[globalVar = GP:L = 1]
config.baseURL = http://wciom.com/
[global]



3) RealURL

$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tstemplate.php'] ['linkData-PostProc'] [] =
'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';

$TYPO3_CONF_VARS['SC_OPTIONS'] ['tslib/class.tslib_fe.php'] ['checkAlternativeIdMethods-PostProc'] [] =
'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';

$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables']
['tx_realurl_urldecodecache'] = 'tx_realurl_urldecodecache';

$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables']
['tx_realurl_urlencodecache'] = 'tx_realurl_urlencodecache';
$TYPO3_CONF_VARS['FE'] ['addRootLineFields'] .= ',tx_realurl_pathsegment,alias,nav_title,title';



$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 0,
'enableUrlEncodeCache' => 1,
'respectSimulateStaticURLs' => 0,
'postVarSet_failureMode'=>'redirect_goodUpperDir',
),
'redirects_regex' => array (

),
'preVars' => array(

/*
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
*/
array(
'GETvar' => 'L',
// 'valueMap' => array( 'en' => '1', ),
'noMatch' => 'bypass',
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 7,
'rootpage_id' => 1,
),



'postVarSets' => array(


'_DEFAULT' => array(
/**********************/
// news archive parameters

// news pagebrowser
'all' => array(
array(
'GETvar' => 'tx_ttnews[all]',
),
),

'ntype' => array(
array(
'GETvar' => 'tx_ttnews[typeOfNews]',
),
),


// news pagebrowser
'browse' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
),
),

// news categories
'select_category' => array (
array(
'GETvar' => 'tx_ttnews[cat]',
),
),
// news articles and searchwords

'single' => array(
array(
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array(
'table' => 'tt_news',
'id_field' => 'uid',
// 'alias_field' => 'title',
'alias_field' => 'uid',
'addWhereClause' => ' AND NOT deleted',
// 'useUniqueCache' => 1,
// 'useUniqueCache_conf' => array(
// 'strtolower' => 1,
// 'spaceCharacter' => '-',
// ),
),
),
array(
'GETvar' => 'tx_ttnews[swords]',
),
),

),

// '99' => '_DEFAULT',

/*******************************/

),

'fileName' => array(
'defaultToHTMLsuffixOnPrev'=>1,
'index' => array(
'rss.xml' => array(
'keyValues' => array(
'type' => 100,
),
),
'rss091.xml' => array(
'keyValues' => array(
'type' => 101,
),
),
'rdf.xml' => array(
'keyValues' => array(
'type' => 102,
),
),
'atom.xml' => array(
'keyValues' => array(
'type' => 103,
),
),
),
),
);


$TYPO3_CONF_VARS['EXTCONF']['realurl']['wciom.ru'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['wciom.ru']['pagePath']['rootpage_id']= 1;
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.wciom.ru'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.wciom.ru']['pagePath']['rootpage_id']= 1;


$TYPO3_CONF_VARS['EXTCONF']['realurl']['wciom.com'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['wciom.com']['pagePath']['rootpage_id']= 1;

$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.wciom.com'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'];
$TYPO3_CONF_VARS['EXTCONF']['realurl']['www.wciom.com']['pagePath']['rootpage_id']= 1;




Regards,
Valery
www.typo3lab.ru

jax 19.08.2007 01:59

Минут 20 назад нашел это сообщение в рассылке :)
Спасибо за ответ


Часовой пояс GMT +4, время: 20:55.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot