Вход

Просмотр полной версии : Многодоменный сайт - проблемы навигации


c0d3r
20.08.2007, 17:28
Делаю сабж, однотипные сайты для нескольких стран.
EXT: TV, realUrl.

RU-сайт - ведущий, остальные цепляют его шаблоны, общую либу и юзают свои TS-конфиги.

Всё было неплохо, пока не пришло время запустить ведомый сайт, UA.

Прописал для RU и UA доменные записи.
Запустил UA-индекс. Всё работает, круто.

Проблемы начались при переходе по навигационному меню UA.
Например, перехожу на /section/subsection/, для которой прописаны TS-условия, а грузится конфиг для главной страницы.

Такой же конфиг отлично работает для RU (структура каталогов на сайте одинаковая).


[globalVar = TSFE:id = {$PAGE_ROOT_ID}]
<INCLUDE_TYPOSCRIPT: source="FILE: fileadmin/common/typoscript/setup_index.ts">
[GLOBAL]


PAGE_ROOT_ID - это uid индекса.
Как страница /section/subsection/ может иметь TSFE:id равным индексному - ума не приложу.

Есть идеи, куда копать?

config.baseURL для reaUrl настроен корректно для RU и UA...

c0d3r
21.08.2007, 10:27
По-моему, проблема в ext realUrl :(

Если я перехожу на site.ua/section/subsection/, то в HMENU ссылка на этот же раздел генерится не как site.ua/section/subsection/, а как site.ua/section/subsection/section/subsection/ и остальные ссылки так же.

Valery Romanchev
21.08.2007, 11:02
URL какие?
типа http://wciom.ru/about/sotrudniki.html
и http://wciom.com/about-company/staff.html
недавно была тема в этом форуме, где подробно обсуждалось как такое сделать

c0d3r
21.08.2007, 11:26
URL обычные реалурловские :)
Проблемы была в том, что я константы для RU/UA сайтов разные, я сделал 2 файла конфига, заодно перенёс туда config.baseURL из сетапа, разумеется. до TSFE этот параметр не дожил.... Сейчас вернул обратно в TTS-setup, с ссылками проблема решилась.

Осталась проблема с шаблонами.
Где можно в сырцах найти установку шаблона для страницы в TSFE?

По дебагу он перескаивает на RU сайт после вот такого (вывод из отладки, там ВСЕ SQL запросы тайпо):

Сначала нормально выбирает главную страницу UA.

SELECT pages.uid,sys_domain.redirectTo,sys_domain.prepend _params FROM pages,sys_domain
WHERE pages.uid=sys_domain.pid AND sys_domain.hidden=0
AND (sys_domain.domainName='web-ua-2.test' OR sys_domain.domainName='web-ua-2.test/') AND pages.deleted=0 AND .....

debug_backtrace require // tslib_fe->determineid // tslib_fe->fetch_the_id // tslib_fe->finddomainrecord // t3lib_pageselect->getdomainstartpage // t3lib_db->exec_selectquery // t3lib_db->debug


Возвращает id главной страницы UA, а вот после этого где-то перескаивает на RU, может в
t3lib_timeTrack->push(): fetch_the_id rootLine

Следующий запрос уже оперирует c uid русского сайта.

SELECT * FROM pages WHERE uid=8 AND ....
require // tslib_fe->determineid // tslib_fe->fetch_the_id // tslib_fe->getpageandrootlinewithdomain // tslib_fe->getpageandrootline // t3lib_pageselect->getpage // t3lib_db->exec_selectquery // t3lib_db->debug


Это он берёт UID страницы с этим же адресом /section/subsection/, но на RU-сайте.
У них разные алиасы, но одинаковые Speaking URL path segment.
Пошёл копать.


А вот такое вот обязательно прописывать для многосайтовой структуры?
http://forum.typo3.biz/showpost.php?p=10940&postcount=1

Ответ после метода тыка - да, прописывать обязательно, работает.
Работает неуникальный Speaking URL path segment на нескольких доменах, ура!