Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   RealURL, домены, неуникальные алиасы страниц (http://forum.typo3.ru/showthread.php?t=2758)

c0d3r 28.02.2007 12:44

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

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

c0d3r 22.05.2007 12:03

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

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

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

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

Спасибо.

Pavel Antonov 22.05.2007 14:15

Цитата:

Сообщение от c0d3r (Сообщение 12237)
Вопрос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

Цитата:

Сообщение от c0d3r (Сообщение 12250)
Огромное спасибо за помощь с 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

Цитата:

Сообщение от c0d3r (Сообщение 12255)
В принципе, об этом и был изначальный пост. Но это даже теперь неважно :)

Кстати, дока по 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:
PHP код:

$TCA['pages']['types']['1']['showitem'] .= ',tx_realurl_pathsegment'


c0d3r 30.05.2007 15:21

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

void 30.05.2007 21:53

Для шорткатов нужна чуть другая строка:
PHP код:

$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" на русский текст? По-моему, офиц. перевода у этого плагина нет?


Часовой пояс GMT +4, время: 21:51.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot