|
|
14.04.2007, 18:49
|
|
Asiat
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
Есть двуязычный сайт на одной системе (на двух разных доменах).
Исходная задача состоит в организации администрирования каталога продукции через одну админку и выводе данных этого шаблона в соответствующих разделах обоих сайтов. С выборками и прочим.
Установил параметры в системных настройках:
$ignore_catalogue = 1;
$ignore_sub = 1;
$ignore_cc = 1;
и затем в зависимости от номеров разделов выборку из шаблона.
Вроде списки все нормально заработали.
А вот с полным выводом объекта ерунда началась.. на одном сайте ошибки, в другом - ничего не выводится.
Куда копать? Может, подход неверный, надо через s_list_class или еще как?
Кто сталкивался, подскажите.
|
|
|
14.04.2007, 19:18
|
|
Asiat
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
Дополнение.
Создал тестовый шаблон попроще, так вот:
Проблемы начинаются, когда для объекта вводится Keyword, без него нормально..
|
|
|
14.04.2007, 20:51
|
|
zhilin
Жилин А.С.
Зарегистрирован: 2007-02-14
Сообщений: 108
|
Замечательную реализацию подсказал h/z.
1) прописать на хостинге алиас
eng.domain.ru
2) прописать этот же алиас в настройках сайта не НетКете
3) ${GLOBALS[DOMAIN_NAME]} ориентируясь по этому значению выводить англ или рус версию. Пример: ".opt_case($GLOBALS[DOMAIN_NAME]=="eng.vashdomain.ru",$f_английское_поле,$f_русское_поле)."
4) все ссылки подменять не понадобится, т.к. домен будет сам подхватываться
5) ссылка на русскую версию http://www.domain.ru/${GLOBALS[REQUEST_URI]}
ссылка на англ версию http://eng.domain.ru/${GLOBALS[REQUEST_URI]}[/quote]
|
|
|
14.04.2007, 21:03
|
|
zhilin
Жилин А.С.
Зарегистрирован: 2007-02-14
Сообщений: 108
|
Детали.
В системных полях (Разделы) создать поле NameEng - Название по-англиски для меню. Можно сделать обязательным полем.
В шаблоне навигации оформляем так:
Код:if($GLOBALS[DOMAIN_NAME]=="eng.domen.ru"){
// забугорное меню
$browse_sub[0][active] = "<li><a href='%URL' class='subcurrent'>%NameEng</
}else{
//наше меню
$browse_sub[0][active] = "<li><a href='%URL' class='subcurrent'>%NAME</
}
Дизайн для обоих сайтов можно оформить в одном месте
Код:".opt_case($GLOBALS[DOMAIN_NAME]=="eng.domen.ru","английский хтмл $f_EngPole","русский хтмл $f_RusPole")."
Переключалка
Код:".opt_case($GLOBALS[DOMAIN_NAME]=="eng.domen.ru","<a href='http://domen.ru$REQUEST_URI'>Rus</a> Eng","Rus <a href='http://eng.$GLOBALS[DOMAIN_NAME]$REQUEST_URI'>Eng</a>")."
|
|
|
14.04.2007, 21:09
|
|
Asiat
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
М-м.., если я правильно въехал, здесь получается удобно для перевода сайта. То есть когда в шаблоне создаешь одинаковые поля для разных языков.. затем выводишь нужное в зависимости от..
А как быть, если на одном из сайтов нужно будет впоследствии создать пару-тройку разделов именно для английской версии, скажем..? кажется, возникнут другие сложности.
|
|
|
14.04.2007, 21:16
|
|
zhilin
Жилин А.С.
Зарегистрирован: 2007-02-14
Сообщений: 108
|
Если эти разделы не связывать с общим меню, то можно с проверкой выводить дополнительное (выключенное для сайта) меню только в англ.версии.
Код:".opt_case($GLOBALS[DOMAIN_NAME]=="eng.domen.ru","выводим меню","<!-- не выводим -->")."
|
|
|
14.04.2007, 21:34
|
|
Asiat
Аниматика
Зарегистрирован: 2005-12-12
Сообщений: 576
|
То есть меню все же разные.
Так, а еще есть константы для модулей.
Параметр $current_catalog[Language] тоже надо переопределять в зависимости от домена..
Можно попробовать, но пока все ж склоняюсь к тому, что проще создать новый сайт со своим набором разделов. В моем случае только один раздел каталога должен быть един в двух лицах, там много информации и дублировать его очень непрактично. А остальные лучше пусть будут раздельными.
|
|
|
17.04.2007, 14:29
|
|
h/z
Зарегистрирован: 2007-02-06
Сообщений: 755
|
если вторая версия сайта (с другим языком) не является зеркалом первого, то мне кажется и редактировать их стоит каждый по отдельности
либо добавлять дополнительные поля в шаблоны (например в какой версии сайта запись показывать/не показывать)
|
|
|
25.04.2007, 12:32
|
|
Гость
Гость
|
".opt($current_catalogue['Language']=='ru',"$f_русское_поле")."
как вариант без привязки к домену
язык прописывается в настройках сайта
|