Просмотр полной версии : Разные домены для разных языков
AleXUnder
10.03.2010, 11:57
Привет сообществу.
Подскажите плиз, у клиента возникла необходимость сделать разные языки на разных доменах. Сейчас сайт находится в зоне.com и имеет 2 языка, английский и русский, все работает прекрасно, но вот тут у рих возникла необходимость сделать так, чтоб при переключении языка сайт переключался на домен в зоне .ru сохраняя при этом все прелести (ну то есть при переключении языка оставался на той же странице). Сейчас домен уже настроет и .ru, и .com ведут на один и тот же сайт. Попробовал в условие переключения языка добавить baseUrl со значением русского домена, но эффекта не получил.
Очень жду совета, спасибо.
gabdullin
13.03.2010, 02:00
Могу порекомендовать Вам обратиться на сайт разработчика RealURL Дмитрия Дулепова:
RealURL: separate language domains in an easy way (http://dmitry-dulepov.com/article/realurl-separate-language-domains-in-an-easy-way.html)
В этой статье просто и доступно дается решение Вашей проблемы.
По собственному опыту могу сказать, что если следовать этим инструкциям, то все замечательно работает.
Единственно, что я не смог заставить работать, это предпросмотр редактируемого контента на языке отличном от дефолтного, ссылки вида: ...&L=1 не функционируют почему-то.
Кстати, может кто-нибудь подскажет почему?!
AleXUnder
13.03.2010, 02:09
Ох спасибо Вам))) буду изучать)))
отпишусь о результатах)
AleXUnder
03.04.2010, 15:49
В общем попробовал, гл что-то никак не пойму в чем трабла. проде как все то, что нужно сделал и так, по порядку.
Дано:
1 - Два языка на доном домене, все работает и переключается.
2 - Вротой домен но в другой зоне.
Требуется:
1 - Для вотого домена сделать второй я зык по умолчанию.
2 - Вытекает из первого, при клике на язык должен меняться домен.
И так, по инструкции, указанной выше делаю следующее, вношу изменение в свою конфигурацию RealURL:
<?php
/**
*
* aeUrlTool default realurl configuration
* based on realurl-configuration of news.typo3.org
* http://news.typo3.org/about/realurl-configuration/
*
*/
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
'_DEFAULT' => array (
'init' => array (
'enableCHashCache' => '1',
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => '1',
'enableUrlEncodeCache' => '1',
),
'redirects' => array (
),
'preVars' => array (
'0' => array (
'GETvar' => 'no_cache',
'valueMap' => array (
'nc' => '0',
),
'noMatch' => 'bypass'
),
'1' => array (
'GETvar' => 'L',
'valueMap' => array (
'en' => '0',
'ru' => '1',
),
'noMatch' => 'bypass',
//------------------------------
'_DOMAINS' => array(
'encode' => array(
array(
'GETvar' => 'L',
'value' => '0',
'useConfiguration' => 'domain.com',
'urlPrepend' => 'domain.com'
),
array(
'GETvar' => 'L',
'value' => '1',
'useConfiguration' => 'domain.com',
'urlPrepend' => 'http://domain.ru'
),
),
'decode' => array(
'domain.com' => array(
'GETvars' => array(
'L' => '0',
),
'useConfiguration' => 'domain.com'
),
'domain.ru' => array(
'GETvars' => array(
'L' => '1',
),
'useConfiguration' => 'domain.com'
),
),
),
//------------------------------
),
),
'pagePath' => array (
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => '7',
'rootpage_id' => '1',
),
'fixedPostVars' => array (
),
'postVarSets' => array (
'_DEFAULT' => array (
'archive' => array (
'0' => array (
'GETvar' => 'tx_ttnews[year]',
),
'1' => array (
'GETvar' => 'tx_ttnews[month]',
'valueMap' => array (
'january' => '01',
'february' => '02',
'march' => '03',
'april' => '04',
'may' => '05',
'june' => '06',
'july' => '07',
'august' => '08',
'september' => '09',
'october' => '10',
'november' => '11',
'december' => '12',
),
),
),
'browse' => array (
'0' => array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select_category' => array (
'0' => array (
'GETvar' => 'tx_ttnews[cat]',
),
),
'article' => array (
'0' => array (
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array (
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => '1',
'useUniqueCache_conf' => array (
'strtolower' => '1',
'spaceCharacter' => '-',
),
),
),
'1' => array (
'GETvar' => 'tx_ttnews[swords]',
),
),
),
),
'fileName' => array (
//
// if you don't want .html-URLs set the following to "false" (e.g. 'defaultToHTMLsuffixOnPrev' => false,)
// then you get http://www.yourdomain.com/imprint/ instead of http://www.yourdomain.com/imprint.html
//
'defaultToHTMLsuffixOnPrev' => false,
'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',
),
),
),
),
),
);
?>
вставленный кусок, который советует использовать Дмитрий, огражден //------------
Далее вношу в localconf.php это:
$TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.com'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['domain.ru'] = 'domain.com';
В результате не получается ничего, как было так и есть. Конечно же языки и домены заведены.
Гляньте, может рука дрогнула где или я чего то не понял.
gabdullin
03.04.2010, 23:36
Гляньте, может рука дрогнула где или я чего то не понял.
Рука действительно дрогнула.
Попробуйте разобраться с закрывающими скобками.
Вы немного не в то место кусок кода воткнули.
AleXUnder
04.04.2010, 00:39
Вы немного не в то место кусок кода воткнули.
куда на ваш взгляд нужно?
я просто уже в разные места тыкал, но эффекта нет
gabdullin
04.04.2010, 23:45
Ковыряться в чужом коде неблагодарное занятие, поэтому я поступлю проще приведу код конфигурации, которая работает у меня, а дальше уж ...
<?php
$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array (
'_DEFAULT' => array (
'init' => array(
'enableCHashCache' => true,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => true,
'enableUrlEncodeCache' => true,
'emptyUrlReturnValue' => '/',
),
'preVars' => array (
array (
'GETvar' => 'no_cache',
'valueMap' => array (
),
'noMatch' => 'bypass',
),
array (
'GETvar' => 'L',
'valueMap' => array (
'ru' => '0',
'en' => '1',
),
'noMatch' => 'bypass',
'valueDefault' => 'ru',
),
array (
'GETvar' => '0',
'valueMap' => array (
),
'noMatch' => 'bypass',
),
),
'fileName' => array(
# 'defaultToHTMLsuffixOnPrev'=>1,
'index' => array(
'rss.xml' => array(
'keyValues' => array(
'type' => 100,
),
),
'rss091.xml' => array(
'keyValues' => array(
'type' => 104,
),
),
'rdf.xml' => array(
'keyValues' => array(
'type' => 101,
),
),
'atom.xml' => array(
'keyValues' => array(
'type' => 103,
),
),
'atom03.xml' => array(
'keyValues' => array(
'type' => 102,
),
),
'sitemap.xml' => array(
'keyValues' => array(
'type' => 200,
),
),
'_DEFAULT' => array (
'keyValues' => array (
),
),
),
),
'fixedPostVars' => array (
'8' => array (
array (
'GETvar' => 'tx_indexedsearch[ext]',
'valueMap' => array (
'advanced' => 1,
),
'noMatch' => 'bypass',
),
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'languageExceptionUids' => '',
'languageField' => 'sys_language_uid',
'transOrigPointerField' => 'l18n_parent',
'autoUpdate' => true,
'expireDays' => 3,
'rootpage_id' => 1,
),
),
'_DOMAINS' => array (
'encode' => array (
array (
'GETvar' => 'L',
'value' => '0',
'ifDifferentToCurrent' => true,
'useConfiguration' => '_DEFAULT',
'urlPrepend' => 'http://domain.ru',
),
array (
'GETvar' => 'L',
'value' => '1',
'ifDifferentToCurrent' => true,
'useConfiguration' => '_DEFAULT',
'urlPrepend' => 'http://domain.com',
),
),
'decode' => array (
'domain.ru' => array (
'GETvars' => array (
'L' => '0',
),
'useConfiguration' => '_DEFAULT'
),
'domain.com' => array (
'GETvars' => array (
'L' => '1',
),
'useConfiguration' => '_DEFAULT',
),
),
),
);
?>
Обратите внимание, что приоритет языков у нас с Вами разный.
AleXUnder
07.04.2010, 20:59
получилось, все работает, пасиба)))
вот еще повросик, а не решали ли вы задачу переключения языков?
на текущий момент стоит sr_language_menu, который теперь не работает, то есть ведет все время на domain.com
gabdullin
09.04.2010, 01:38
Вот в этой теме
http://forum.typo3.biz/showthread.php?t=8476
есть кусок кода описывающего языковое меню, единственно, что после обновления RealURL до версии 1.8.0 оно перестало работать. Решение этой проблемы пока не нашел.
AleXUnder
20.04.2010, 01:49
нашел еще проблему, при заходе на русский домен ссылки в меню остаются на com похоже что где то косяк, у вас не встречалось?
AleXUnder
25.04.2010, 13:56
проблема решилась исключением параметра 'ifDifferentToCurrent' => true,
все так же остается проблема с переключением языка и использованием sr_language_menu
gabdullin
27.04.2010, 13:36
Вот в этой теме
http://forum.typo3.biz/showthread.php?t=8476
есть кусок кода описывающего языковое меню, единственно, что после обновления RealURL до версии 1.8.0 оно перестало работать. Решение этой проблемы пока не нашел.
После обновления RealURL до версии 1.8.1 работа языкового меню восстановилась в полном объеме.
gabdullin
27.04.2010, 13:38
все так же остается проблема с переключением языка и использованием sr_language_menu
Может имеет смысл отказаться от sr_language_menu и реализовать меню базовыми методами системы?!
AleXUnder
27.04.2010, 13:56
Может имеет смысл отказаться от sr_language_menu и реализовать меню базовыми методами системы?!
уже склоняюсь к такому варианту
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot