PDA

Просмотр полной версии : RealURL и несколько языков


amida
17.08.2005, 13:49
Всем привет.
Столкнулся с такой проблемой - realURL для генерации url использует title страниц.
Если title написан на русском то получается ерунда вроде mysite.com/ru/novosti или mysite.com/ru/produkcija.
Я думал поменять title на то, что я хочу видеть в url + использовать navigation path для названия страницы.
Но при таком подходе в заголовке браузера выводится то, что должно быть в url.
Вот пока больше ничего не могу придумать.
Кто-нибудь сталкивался с этой проблемой?
Подскажите, пожалуйста решение.

Andreas Schwarzkopf
17.08.2005, 14:05
Есть еще другие поля в page header, например alias или Speaking URL path segment, которые предназначены именно для альтернативного вывода названия директории.

На самом деле это не проблема а фич - названия страниц специально переводятся дла realURL в транслит.

amida
17.08.2005, 14:20
Да я видел поле Speaking URL path segment, но никак не могу разобраться, как использовать его для генерации URL.
Я читал руководство по realURL но не нашел там, как вывести это поле.
Насколько я понимаю это происходит в этом месте
'pagePath' => array (
...
'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
...
),
И здесь что-то нужно изменить. Не подскажете, что именно, или где об этом можно прочесть?
Спасибо.

Andreas Schwarzkopf
17.08.2005, 14:41
Мне кажется, что если ввести что-либо в поле Speaking URL на какой-либо странице, затем стереть все кэши (руками в phpmyadmin почистить все таблицы tx_realurl_*), то названия автоматически изменятся.

amida
17.08.2005, 15:14
Большое спасибо.
Сделал так, как вы посоветовали, все заработало.
Эх, красота.
А можно как-нибудь применять realURL к ссылкам на элементов контента?

Andreas Schwarzkopf
17.08.2005, 15:18
Это что после #? Тогда realURL здесь не причем. Это обычный TypoScript (styles.content.default).

amida
17.08.2005, 16:21
Угу.
Я настроил его так, что в тексте окоде страницы он пишет <a name=\"заголовок_элемента\">, но в ссылке после # он все равно пишет номер.
Сейчас перечитал realURL но, ничего по этому поводу не нашел.

Andreas Schwarzkopf
17.08.2005, 16:49
Советую забыть про это. realURL использует для этого системную функцию TYPO3 для построения ссылок. Так что изменять нужно не там.

Теоретически возможно реализовать эту задачу, но довольно сложно.

Аналогичный пример я привел в другом месте, прошу обратить внимание на userFunction:
# TypoScript setup
# xhtml strict compliance: all content element anchors get a prefix for the name and id attribute
tt_content.stdWrap.dataWrap = <a name=\"content{field:uid}\" id=\"content{field:uid}\"></a>|
# the section menu is adapted
tt_content.menu.20.3.renderObj.typolink.section.wr ap = content|
# reference to a php function
includeLibs.xhtmlanchor = fileadmin/user_typolink.inc
tt_content.text.20.parseFunc.tags.link.typolink.pa rameter.postUserFunc = user_xhtmlAnchor

example for the fileadmin/user_typolink.inc:
<?php
function user_xhtmlAnchor($content,$conf) {
$uriparts = explode('#',$content);
if (isset($uriparts['1'])) {
$content = $uriparts['0'].'#content'.$uriparts['1'];
}
return $content;
}
?>

amida
18.08.2005, 15:24
Спасибо. Буду разбираться.

ibmed
03.11.2005, 04:37
А как Вы добились, что она в транслит имена переводит?...
Хелп...