Вход

Просмотр полной версии : RealUrl + tt_news pagebrowser


Tod
23.08.2011, 14:25
Возникла нерешаемая проблема, нужная помощь сообщества:) При использовании браузера страниц в tt_news и RealUrl ссылки на единичную новость получаются разные с разных страниц.

Например, заходим в раздел сайта "блог":
http://gothic4.com.ua/blog/post/45.html
http://gothic4.com.ua/blog/post/42.html
Внизу браузер страниц со ссылками
http://gothic4.com.ua/gameblog/browse/1.html
http://gothic4.com.ua/gameblog/browse/2.html

Казалось бы все нормально, но переходим на вторую страницу и все ссылки новостей "учитывают" в названии номер страницы - получается:
http://gothic4.com.ua/blog/browse/1/post/32.html
http://gothic4.com.ua/blog/browse/1/post/31.html

То есть пока новость на одной странице она имеет один URL, потом меняет на другой, третий и т.п. Как это можно исправить? Мой конфиг RealUrl, в принципе, стандартный:

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => 1,
'enableUrlEncodeCache' => 1,
'respectSimulateStaticURLs' => 0,
'postVarSet_failureMode'=>'redirect_goodUpperDir',
),
'redirects_regex' => array (

),
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 0,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'en' => '1',
),
'noMatch' => 'bypass',
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 7,
'rootpage_id' => 1,
),


'postVarSets' => array(
'_DEFAULT' => array(
// news archive parameters
'archive' => array(
array(
'GETvar' => 'tx_ttnews[year]' ,
),
array(
'GETvar' => 'tx_ttnews[month]' ,
'valueMap' => array(
'january' => '01',
'february' => '02',
'march' => '03',
'april' => '04',
'may' => '05',
'june' => '06',
'july' => '07',
'august' => '08',
'september' => '09',
'october' => '10',
'november' => '11',
'december' => '12',
)
),
),
// news pagebrowser
'browse' => array(
array(
'GETvar' => 'tx_ttnews[pointer]',
),
),
// news categories
'select_category' => array (
array(
'GETvar' => 'tx_ttnews[cat]',
),
),
// news articles and searchwords
'post' => array(
array(
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array(
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'uid',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'tx_ttnews[backPid]',
'valueMap' => array(
'no_cache' => 0,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'tx_ttnews[swords]',
),
),
),
),

'fileName' => array(
'defaultToHTMLsuffixOnPrev'=>1,
'index' => array(
'rss.xml' => array(
'keyValues' => array(
'type' => 100,
),
),
'rss091.xml' => array(
'keyValues' => array(
'type' => 101,
),
),
'rdf.xml' => array(
'keyValues' => array(
'type' => 102,
),
),
'atom.xml' => array(
'keyValues' => array(
'type' => 103,
),
),
),
),
);

Если по смыслу, то он делает все правильно - параметр страницы передается, он его учитывает, но зачем подставлять в ссылки-то =\ Что интересно пробовал 5-6 разных конфигов tt_news найденных в сети - результат тот же, а вот на официальном сайте http://news.typo3.org/about/realurl-configuration/ такой проблемы нету с урлами при переходе на страницы все работает. Но при подстановке этого конфига возникает синтаксическая ошибка и он не сохраняется! Какой-то замкнутый круг :(

P.S. Похоже, что ситуация возникает не только с tt_news, но и другими экстеншенами с разбиением на страницы - tt_products например.

Андрей Аксенов
24.08.2011, 08:45
А если попробовать другие версии RealURL? В разных версиях - разная логика работы, и нигде она не описана (по крайней мере я не нашел...). Может в этом проблема?

Tod
24.08.2011, 14:13
Я пробовал последнюю 1.11.2 и до этого парочку предыдущих, знать бы какая на news.typo3.org)

Андрей Аксенов
24.08.2011, 15:37
А если простым перебором? поставить версию 10...

dmartynenko
28.08.2011, 17:41
RealURL тут точно не причем. Он просто кодирует те параметры, которые передаются в ссылке. Видимо баг (или фича?) в tt_news, который в ссылку подставляет дополнительно номер страницы. Возможно он это делает что бы работал backLink в режиме tt_news.single. Попробуйте через TS отключить backLink.

У нас надежно работает конфигурация, когда tt_news.single делается на отдельной странице (ее можно назвать post, а ID на ней выводить без префиксов через RealURL fixedPostVars). Страницы будут разными, а URL будут такими же.

Tod
30.08.2011, 18:51
dmartynenko, да именно через fixedPostVars я и сделал. Как-то раньше об этом не подумал, а потом нашел работающий вариант в одном из своих сайтов и вспомнил как нужно.
Написал небольшой пост по настройке, возможно, кому-то пригодится - http://typo3ua.com/extensions/realurl-ttnews-pagebrowser/