Вход

Просмотр полной версии : RealURL, домены, неуникальные алиасы страниц


c0d3r
28.02.2007, 12:44
На старом проекте под 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, хоть и работает, не устраивает по идеологическим причинам - хотелось бы иметь как раз одинаковые алиасы для страниц в разных сайтах, но с одним и тем же предназначением :)

Заранее благодарю за помощь!

c0d3r
22.05.2007, 12:03
Перешёл на 4.1 и всплыл аналогичный вопрос, пошёл в поиск и нашёл эту тему. Кстати, решили её пунктом 1. Хотя это менее эффективно, чем 2 :(

А тут столкнулся с новостью - 4.1 отказывается работать с неуникальными алиасами вообще. Возможно, есть какая-то переменная конфига, отвечающая за это поведение, кто-то может подсказать?

К слову, почему нужны неуникальные алиасы - для многосайтовости. То есть на разных сайтах одна и таже страница алиасится одинаково - так в теории. На практике может получиться облом.

Вопрос2: Никто не пробовал неуникальные алиасы в купе с RealURL?

Спасибо.

Pavel Antonov
22.05.2007, 14:15
Вопрос2: Никто не пробовал неуникальные алиасы в купе с RealURL?

Для начала неуникальных алиасов не бывает... Вам TYPO3 не даст их создать (почти не даст 8=) и RealURL тут не причем.

То что Вы хотите реализовать делается с помошью поля "Speaking URL path segment". Значение поля может быть неуникальным, собственно для того и сделано.

c0d3r
22.05.2007, 14:40
Огромное спасибо за помощь с Speaking URL path segment, пошёл читать.

В предудущей версии сайта на 3.8 именно "почти дало" даже без всяких почти, так как алиасы есть неуникальные. Поэтому я и подумал - есть какой-то TS ключик....

PhilD
22.05.2007, 14:58
Многосайтовая установка, имена страниц- русские, ряд одинаковых - типа "о фирме", "схема проезда". Полет нормальный без дополнительных телодвижений. 4.0.4.

c0d3r
22.05.2007, 15:01
Имена страниц != alias

Pavel Antonov
22.05.2007, 15:10
Огромное спасибо за помощь с Speaking URL path segment, пошёл читать.

В предудущей версии сайта на 3.8 именно "почти дало" даже без всяких почти, так как алиасы есть неуникальные. Поэтому я и подумал - есть какой-то TS ключик....

я знаю... потому и говорю что "почти". При определённых условиях можно добиться, что две страницы имеют одинаковый алиас. Да и базу можно "откарячить" руками.
Но это означает только то, что одну из страниц вы просто теряете... так как алиас это "синоним" uid, только строчный

c0d3r
22.05.2007, 15:23
Но это означает только то, что одну из страниц вы просто теряете... так как алиас это "синоним" 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 посмотрите пример конфигов

PhilD
22.05.2007, 16:01
для любой страницы

Pavel Antonov
22.05.2007, 16:12
Speaking URL path segment - неуникальный (в рамках всей системы) алиас любой страницы. Должен быть уникальным в пределах одного предка в дереве страниц.

c0d3r
22.05.2007, 16:17
Дело в то, что у меня это поле есть в форме редактирования только для главной страницы :(
Равно как и "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 - читаю

void
22.05.2007, 16:31
Это поле показывается только если тип страницы - Advanced.
Чтобы его увидеть у других страниц, нужно либо сменить их тип на advanced, либо прописать строку TS Config'a.

c0d3r
22.05.2007, 16:55
Большое спасибо.
Понял про Advanced.
А что за строка TS имеется в виду?
Ещё не имел удовольствия с ней :)

c0d3r
30.05.2007, 11:42
Помогите со строкой конфига, пожалуйста :)

void
30.05.2007, 13:27
Кажется, я ошибся со строкой..
Возможно я ошибаюсь, но кажется эту проблему можно решить только строкой в typo3conf/extTables.php:
$TCA['pages']['types']['1']['showitem'] .= ',tx_realurl_pathsegment';

c0d3r
30.05.2007, 15:21
Да, TCA-тюнинг помог, спасибо!
Правда, поле не появляется для страниц типа Symlink.
Можно это подкорректировать? :)

void
30.05.2007, 21:53
Для шорткатов нужна чуть другая строка:
$TCA['pages']['types']['4']['showitem'] .= ',tx_realurl_pathsegment';

c0d3r
31.05.2007, 09:32
Всё понял, спасибо.
Всё-же примеры рулят :)

c0d3r
31.05.2007, 12:19
Подскажите, пожалуйста, что-таки делает Speaking URL path segment?
Я задал его для страницы (megatest), но она как отображалась в ссылке алиасом (test), так и отображается. Кэш почистил.

Всё понял, недоконфигурировал, ответ здесь:
http://forum.typo3.biz/showpost.php?p=10627&postcount=3

Кипяток, кипяток! :)

c0d3r
31.05.2007, 13:12
Можно ли заменить в форме заголовок "Speaking URL path segment" на русский текст? По-моему, офиц. перевода у этого плагина нет?