Просмотр полной версии : RealURL, домены, неуникальные алиасы страниц
На старом проекте под 3.8 (там я и познакомился с TYPO3) есть несколько доменов, на них однотипные сайты. Там есть такая проблема - ссылки на некоторые страницы выдаются неверные (генерится просто ссылка на главную стр.). Покопавшись, выяснили вот что.
Много букв, но если что, попробую рассказать ещё подробнее :)
Дело в том, что у каждой страницы есть alias (поле alias в таблице pages), и при запросе адреса id=testalias он преобразуется по этому алиасу в UID, т.е. делается [SELECT uid FROM pages WHERE alias='testalias' AND NOT pages.deleted] парсером урлов. Для тех страниц, у которых алиас уникальный, всё хорошо, а для тех, у которых алиас есть в других доменах – нет, выдает UID другой страницы, а не той, которая реально должна быть, при этом этот полученный UID не попадает в дочки текущего родителя (поля pid, rootpage_id).
Вариантов решения, на мой взгляд, два:
1) Придерживаться политики уникальных алиасов;
2) Каким-то образом заставить класс-парсер Real URL учитывать уникальность алиаса в пределах домена.
Интересует возможность настройки RealURL по пункту 2, так как пункт 1, хоть и работает, не устраивает по идеологическим причинам - хотелось бы иметь как раз одинаковые алиасы для страниц в разных сайтах, но с одним и тем же предназначением :)
Заранее благодарю за помощь!
Перешёл на 4.1 и всплыл аналогичный вопрос, пошёл в поиск и нашёл эту тему. Кстати, решили её пунктом 1. Хотя это менее эффективно, чем 2 :(
А тут столкнулся с новостью - 4.1 отказывается работать с неуникальными алиасами вообще. Возможно, есть какая-то переменная конфига, отвечающая за это поведение, кто-то может подсказать?
К слову, почему нужны неуникальные алиасы - для многосайтовости. То есть на разных сайтах одна и таже страница алиасится одинаково - так в теории. На практике может получиться облом.
Вопрос2: Никто не пробовал неуникальные алиасы в купе с RealURL?
Спасибо.
Pavel Antonov
22.05.2007, 14:15
Вопрос2: Никто не пробовал неуникальные алиасы в купе с RealURL?
Для начала неуникальных алиасов не бывает... Вам TYPO3 не даст их создать (почти не даст 8=) и RealURL тут не причем.
То что Вы хотите реализовать делается с помошью поля "Speaking URL path segment". Значение поля может быть неуникальным, собственно для того и сделано.
Огромное спасибо за помощь с Speaking URL path segment, пошёл читать.
В предудущей версии сайта на 3.8 именно "почти дало" даже без всяких почти, так как алиасы есть неуникальные. Поэтому я и подумал - есть какой-то TS ключик....
Многосайтовая установка, имена страниц- русские, ряд одинаковых - типа "о фирме", "схема проезда". Полет нормальный без дополнительных телодвижений. 4.0.4.
Pavel Antonov
22.05.2007, 15:10
Огромное спасибо за помощь с Speaking URL path segment, пошёл читать.
В предудущей версии сайта на 3.8 именно "почти дало" даже без всяких почти, так как алиасы есть неуникальные. Поэтому я и подумал - есть какой-то TS ключик....
я знаю... потому и говорю что "почти". При определённых условиях можно добиться, что две страницы имеют одинаковый алиас. Да и базу можно "откарячить" руками.
Но это означает только то, что одну из страниц вы просто теряете... так как алиас это "синоним" uid, только строчный
Но это означает только то, что одну из страниц вы просто теряете... так как алиас это "синоним" uid, только строчный
В принципе, об этом и был изначальный пост. Но это даже теперь неважно :)
Кстати, дока по realurl крайне старая, для 3.8.0, конфиг оттуда вызвал ругань TYPO3. Поправил, как сказала ругань, тем не менее, может быть можно подсказать доходчиво смысл "Speaking URL path segment" и правила его установки для нескольких идентичных сайтов. Как я понял, это поле доступно только для главных страниц (root).
Valery Romanchev
22.05.2007, 15:59
В принципе, об этом и был изначальный пост. Но это даже теперь неважно :)
Кстати, дока по realurl крайне старая, для 3.8.0, конфиг оттуда вызвал ругань TYPO3. Поправил, как сказала ругань, тем не менее, может быть можно подсказать доходчиво смысл "Speaking URL path segment" и правила его установки для нескольких идентичных сайтов. Как я понял, это поле доступно только для главных страниц (root).
нет, для каждой страницы в отдельности
в wiki.typo3.org посмотрите пример конфигов
Pavel Antonov
22.05.2007, 16:12
Speaking URL path segment - неуникальный (в рамках всей системы) алиас любой страницы. Должен быть уникальным в пределах одного предка в дереве страниц.
Дело в то, что у меня это поле есть в форме редактирования только для главной страницы :(
Равно как и "Navigation title" над ним, не знаю, относится ли он к RealURL
Конфиг счас банальный, из примера, только поправил config.baseURL
По поводу вики пока радости мало.
http://wiki.typo3.org/index.php/Realurl - мало
http://wiki.typo3.org/index.php/EXT/realurl/examples - я в шоке
http://wiki.typo3.org/index.php/EXT/realurl/manual - читаю
Это поле показывается только если тип страницы - Advanced.
Чтобы его увидеть у других страниц, нужно либо сменить их тип на advanced, либо прописать строку TS Config'a.
Большое спасибо.
Понял про Advanced.
А что за строка TS имеется в виду?
Ещё не имел удовольствия с ней :)
Помогите со строкой конфига, пожалуйста :)
Кажется, я ошибся со строкой..
Возможно я ошибаюсь, но кажется эту проблему можно решить только строкой в typo3conf/extTables.php:
$TCA['pages']['types']['1']['showitem'] .= ',tx_realurl_pathsegment';
Да, TCA-тюнинг помог, спасибо!
Правда, поле не появляется для страниц типа Symlink.
Можно это подкорректировать? :)
Для шорткатов нужна чуть другая строка:
$TCA['pages']['types']['4']['showitem'] .= ',tx_realurl_pathsegment';
Всё понял, спасибо.
Всё-же примеры рулят :)
Подскажите, пожалуйста, что-таки делает Speaking URL path segment?
Я задал его для страницы (megatest), но она как отображалась в ссылке алиасом (test), так и отображается. Кэш почистил.
Всё понял, недоконфигурировал, ответ здесь:
http://forum.typo3.biz/showpost.php?p=10627&postcount=3
Кипяток, кипяток! :)
Можно ли заменить в форме заголовок "Speaking URL path segment" на русский текст? По-моему, офиц. перевода у этого плагина нет?
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot