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=9112)

Vornic 27.12.2010 17:46

RealUrl: можно ли заставить генерить свои ссылки?
 
Привет Уважаемой typo3 общественности!
Может у кого есть опыт решения подобных задач.
Мне необходимо заставить realurl определенную страницу рассматривать как главную, т.е. чтобы он генерил в меню для одного из адресов не http://www.mysite.ru/kompanija/ а нормальный http://www.mysite.ru/
Пока я обхожусь через редирект, что как бы не правильно:
PHP код:

   'redirects' => array(
           
'kompanija/' => 'http://www.mysite.ru/',
    ), 

городить огород в меню, т.е. лепить через TS искусственный пункт меню тоже как бы не правильно.
Хотелось бы получить совета, как поступать?:confused:

dmartynenko 28.12.2010 13:11

Одним из способов который можно попробовать - сделать страницу kompanija ссылкой на корневую.

Вообще не очень понятно для чего вам это. Если поясните, то возможно найдется другой вариант реализации вашей задумки.

Vornic 28.12.2010 13:53

Цитата:

Сообщение от dmartynenko (Сообщение 29764)
Одним из способов который можно попробовать - сделать страницу kompanija ссылкой на корневую.

Этот вариант не подходит, напротив, корневая страница у меня является ссылкой на главную. Так удобней, в ней главный TS скрипт, ей присвоен шаблон внутренних страниц(для того чтобы вся иерархия имела этот шаблон), а главной - шаблон главной.

Цитата:

Сообщение от dmartynenko (Сообщение 29764)
Вообще не очень понятно для чего вам это. Если поясните, то возможно найдется другой вариант реализации вашей задумки.

Банально - каприз заказчика.

PS Собственно, и интересно, задача вроде как не тривиальная.:)

dmartynenko 28.12.2010 14:06

Цитата:

Сообщение от Vornic (Сообщение 29770)
Этот вариант не подходит, напротив, корневая страница у меня является ссылкой на главную. Так удобней, в ней главный TS скрипт, ей присвоен шаблон внутренних страниц(для того чтобы вся иерархия имела этот шаблон), а главной - шаблон главной.

Так все равно не понятно что мешает сделать еще одну страницу ссылкой на главную (коневую)?

У вас главная и корневая страницы это разные страницы? Если да, то зачем?

Vornic 28.12.2010 14:25

Цитата:

Сообщение от dmartynenko (Сообщение 29773)
Так все равно не понятно что мешает сделать еще одну страницу ссылкой на главную (коневую)?

Идея хороша, но как то не красиво - две лишние страницы :-)

Цитата:

Сообщение от dmartynenko (Сообщение 29773)
У вас главная и корневая страницы это разные страницы? Если да, то зачем?

да, это разные страницы, корневая страница в меню не входит, HMENU же строится от определенного корня (узла).
Код:

lib.mainMenu = HMENU
lib.mainMenu.entryLevel = 0
lib.mainMenu.wrap = <UL> | </UL>
...

PS Возможно я не правильно понимаю typo3. Уж слишком гибкая она, и путей решения задачи масса :-)

dmartynenko 28.12.2010 14:34

Цитата:

Сообщение от Vornic (Сообщение 29778)
Идея хороша, но как то не красиво - две лишние страницы :-)

На сколько я понимаю исходая задача этим решается (я еще раз ее внимательно перечитал)? Или задача все же другая?

Если у вас получается несколько (две) страницы в меню, которые ссылаются на главную и одна из них лишняя, то просто исключите ее по ID (свойство excludeUidList).

Vornic 28.12.2010 14:48

Цитата:

Сообщение от dmartynenko (Сообщение 29779)
На сколько я понимаю исходая задача этим решается (я еще раз ее внимательно перечитал)? Или задача все же другая?

Нет, вот только что попробовал, скрыл главную из меню (Hide in menu), создал еще одну рядом и сделал её ссылкой на корень. Как результат - ничего не изменилось (кэши зачищал, таблицы realurl чистил). Адрес так и остался - http://www.mysite.ru/kompanija/

Цитата:

Сообщение от dmartynenko (Сообщение 29779)
Если у вас получается несколько (две) страницы в меню, которые ссылаются на главную и одна из них лишняя, то просто исключите ее по ID (свойство excludeUidList).

я вместо excludeUidList использую "Hide in menu" - это же одно и то же?

dmartynenko 28.12.2010 14:59

Цитата:

Сообщение от Vornic (Сообщение 29780)
Нет, вот только что попробовал, скрыл главную из меню (Hide in menu), создал еще одну рядом и сделал её ссылкой на корень. Как результат - ничего не изменилось (кэши зачищал, таблицы realurl чистил). Адрес так и остался - http://www.mysite.ru/kompanija/

А при переходе по этому адресу что получается?
Страница у вас типа "Ссылка" (в старых версиях название "Ярлык") ?
Сейчас попробовал - выбирается тип страницы "Ссылка", выбирается страница в соответсвующем поле "Ссылка на страницу" и в меню получается прямая ссылка на указанную страницу (проверил TYPO3 4.1 и 4.4).

Цитата:

Сообщение от Vornic (Сообщение 29780)
я вместо excludeUidList использую "Hide in menu" - это же одно и то же?

Это по смыслу похоже, но для разных целей.
Hide in menu - скрыть страницу из всех меню (кроме меню где явно указано includeNotInMenu).
excludeUidList - в конкретном меню скрыть именно указанные страницы.

dmartynenko 28.12.2010 15:15

Нашел еще в доке по RealURL параметр:

Цитата:

dontResolveShortcuts

If set, page shortcuts are not resolved to their destination page.
NB: If you do not set this option the backends Speaking URL Management module will probably report duplicate entries in the pathCache table since both the shortcut page and the destination page will have the same URL entry. The error is in that case not a real problem of course, but annoying to the eye.

Vornic 28.12.2010 17:19

Еще раз повторил "приём с лишней страницей", после того как включил 'dontResolveShortcuts' => 1 ситуация наконец исправилась, правда теперь элемент меню главной страницы не получает статус "активный"
А в целом, Спасибо Дмитрий!

PS ...однако не покидает чувство, что это не правильный подход. :-)
PSS ...пытаюсь достучаться до Вашей аси, тщетно :-)


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

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