12 Apr
Po całym dniu walk udało mi się zmusić TYPO3, mm_forum i RealURL do generowania w miarę przyzwoitych linków. Oto moja konfiguracja do RealURLa:
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'enableUrlDecodeCache' => 1,
'enableUrlEncodeHash' => 1,
'respectSimulateStaticURLs'=>1,
'postVarSet_failureMode' => 'redirect_goodUpperDir',
),
'rewrite' => array(
),
'preVars' => array(
array(
'GETvar' => 'L',
'valueMap' => array(
'pl' => '0',
'en' => '1',
),
'noMatch' => 'bypass',
//'valueDefault' => 'pl',
),
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 0,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
'fixedPostVarSets' => array(),
'fixedPostVars' => array(
'mm_forum_pi3' => array(
array(
'GETvar' => 'tx_mmforum_pi3[folder]',
'valueMap' => array(
'odebrane' => 'inbox',
'wyslane' => 'send',
'archiwum' => 'archiv'
)
),
array(
'GETvar' => 'tx_mmforum_pi3[action]',
'valueMap' => array(
'czytaj' => 'message_read',
'napisz' => 'message_write',
'kasuj' => 'message_del'
)
),
array(
'GETvar' => 'tx_mmforum_pi3[messid]',
'lookUpTable' => array(
'table' => 'tx_mmforum_pminbox' ,
'id_field' => 'uid',
'alias_field' => 'subject',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'tx_mmforum_pi3[userid]',
'lookUpTable' => array(
'table' => 'fe_users' ,
'id_field' => 'uid',
'alias_field' => 'username',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
)
),
'mm_forum_pi1' => array(
array(
'GETvar' => 'tx_mmforum_pi1[action]',
'valueMap' => array(
'kategoria' => 'list_topic',
'temat' => 'list_post',
'profil' => 'forum_view_profil',
'nowy-wpis' => 'new_post',
'nowy-temat' => 'new_topic',
'zglos' => 'post_alert',
'edytuj-wpis' => 'post_edit',
'kasuj-wpis' => 'post_del',
'historia-wpisow' => 'post_history',
'bez-odpowiedzi' => 'list_unans',
'nieczytane' => 'list_unread',
'ustaw-jako-przeczytane' => 'reset_read',
'wlacz-powiadomienia' => 'set_havealook',
'wylacz-powiadomienia' => 'del_havealook',
'dodaj-do-ulubionych' => 'set_favorite',
'ustaw-jako-rozwiazany' => 'solve',
'ustaw-jako-nierozwiazany' => 'unsolve',
'usun-z-ulubionych' => 'del_favorite',
'prefiks' => 'list_prefix'
),
),
array(
'GETvar' => 'tx_mmforum_pi1[fid]',
'lookUpTable' => array(
'table' => 'tx_mmforum_forums' ,
'id_field' => 'uid',
//'alias_field' => 'forum_name',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'tx_mmforum_pi1[tid]',
'lookUpTable' => array(
'table' => 'tx_mmforum_topics' ,
'id_field' => 'uid',
//'alias_field' => 'topic_title',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
array(
'GETvar' => 'tx_mmforum_pi1[pid]',
),
array(
'GETvar' => 'tx_mmforum_pi1[page]',
),
array(
'GETvar' => 'tx_mmforum_pi1[user_id]',
'lookUpTable' => array(
'table' => 'fe_users' ,
'id_field' => 'uid',
'alias_field' => 'username',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'6' => 'mm_forum_pi1',
'18' => 'mm_forum_pi3'
),
);
Zauważcie, że wykomentowałem wszystkie ‘alias_field’. Zrobiłem to dlatego, że wolę mieć parametry liczbowe niż opisowe. Te drugie może by coś więcej dawały pod względem pozycjonowania, ale linki robią się niekiedy koszmarnie długie i w związku z tym nieestetyczne. Efektem ubocznym jest to, że PHP wywala trochę warrningów więc trzeba wyłączyć na amen raportowanie błędów (co i tak się robi w środowisku produkcyjnym):
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/mojeforum.tld/httpdocs/t3lib/class.t3lib_db.php on line 834
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/mojeforum.tld/httpdocs/t3lib/class.t3lib_db.php on line 861
Poza tym w powyższym kodzie mogą być jakieś kwiatki – używajcie na własne ryzyko.
Znalazłem też już jeden syf. Link do profilu użytkownika wygląda tak:
http://www.mojeforum.tld/forum/profil/salvi/
ale w module “informacje o portalu” niestety wygląda tak:
http://www.mojeforum.tld/forum/profil/////salvi/
i na razie nie mam pojęcia co z tym zrobić. Ktoś ma jakiś pomysł?
Zostaw odpowiedź
Musisz być zalogowany/zalogowana, aby móc wysłać komentarz.