realurl Sprachweiche

  • mentomedia mentomedi...
    TYPO3-Anwärter
    0 x
    5 Beiträge
    0 Hilfreiche Beiträge
    22. 03. 2011, 17:42

    Hallo,

    ich benutze Realurl auf einer zweisprachigen Website, funktioniert auch ganz Prima. Problematisch wird es erst in Kombination mit tt_products, hier stehen die Daten die ich zur Generierung der URL brauche in verschiedenen Datenbanken. Die Logik habe ich für beide Sprachversionen auch hinbekommen nur kann ich Realurl nicht beibringen für deutsch Logik 1 und für englsich Logik 2 zu benutzen.

    Im Prinzip brauche ich eine Fallunterscheidung:
    Für Sprache Deutsch mach:

    1. 'products' => array(
    2. 'GETvar' => 'tt_products[product]',
    3. 'lookUpTable' => array(
    4. 'table' => 'tt_products',
    5. 'id_field' => 'uid',
    6. 'alias_field' => 'title',
    7. 'addWhereClause' => ' AND NOT deleted',
    8. 'useUniqueCache' => 1,
    9. 'useUniqueCache_conf' => array(
    10. 'strtolower' => 1,
    11. 'spaceCharacter' => '-',
    12. ),
    13. ),
    14. ),
    15. ),

    Für Sprache Englisch mach:

    1. // products
    2. 'products' => array(
    3. 'GETvar' => 'tt_products[product]',
    4. 'lookUpTable' => array(
    5. 'table' => 'tt_products_language',
    6. 'id_field' => 'prod_uid',
    7. 'alias_field' => 'title',
    8. 'addWhereClause' => ' AND NOT deleted',
    9. 'useUniqueCache' => 1,
    10. 'useUniqueCache_conf' => array(
    11. 'strtolower' => 1,
    12. 'spaceCharacter' => '-',
    13. ),
    14. ),
    15. ),
    16. ),

    Vielleicht kennt sich da ja jemand mit aus und kann mir helfen, wäre echt super!


  • 1
  • hahni hahni
    R2-D2
    0 x
    110 Beiträge
    0 Hilfreiche Beiträge
    23. 02. 2012, 00:47

    Ich habe meine "localconf.php" von realURL mit ein bisschen PHP-Code gewürzt. Dann werden die beiden URLs in der jeweils gültigen Sprache angezeigt und das funktioniert auch wunderbar. Wechselt man bei mir aber nun über den Sprachumschalter, dann wird das Produkt nicht auf der EN-Seite und umgekehrt angezeigt. Also ich bin eine kleine Stufe weiter als du ;)! Hier noch meine Konfiguration als evtl. Anregung für dich und unser Problem:

    1. <?php
    2. /*
    3. RealURL Config mit folgenden Extensionanpassungen:
    4. - indexedsearch
    5. - tt_news
    6. - tx_ablinklist
    7. - ve_guestbook
    8. - RSS Feed
    9. -
    10. */
    11.  
    12. if (!eregi('/en/', $_SERVER['REQUEST_URI']))
    13. {
    14. $tt_products_table = "tt_products";
    15. $tt_products_uid = "uid";
    16. }
    17. else
    18. {
    19. $tt_products_table = "tt_products_language";
    20. $tt_products_uid = "prod_uid";
    21. }
    22.  
    23. $TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
    24. '_DEFAULT' => array(
    25. 'init' => array(
    26. 'enableCHashCache' => 1,
    27. 'appendMissingSlash' => 'ifNotFile',
    28. 'enableUrlDecodeCache' => 1,
    29. 'enableUrlEncodeCache' => 1,
    30. ),
    31. 'redirects' => array(),
    32. 'preVars' => array(
    33. 'GETvar' => 'no_cache',
    34. 'valueMap' => array(
    35. 'nc' => 1,
    36. ),
    37. 'noMatch' => 'bypass',
    38. ),
    39. 'GETvar' => 'L',
    40. 'valueMap' => array(
    41. 'en' => '1',
    42. 'de' => '0',
    43. ),
    44. 'valueDefault' => 'de',
    45. 'noMatch' => 'bypass',
    46. ),
    47. ),
    48. 'pagePath' => array(
    49. 'type' => 'user',
    50. 'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
    51. 'spaceCharacter' => '-',
    52. 'languageGetVar' => 'L',
    53. 'expireDays' => 7,
    54. 'rootpage_id' => 223,
    55. ),
    56. 'fixedPostVars' => array(),
    57. 'postVarSets' => array(
    58. '_DEFAULT' => array(
    59. 'erweitert' => array(
    60. 'GETvar' => 'tx_indexedsearch[ext]',
    61. ),
    62. ),
    63. 'browse' => array(
    64. 'GETvar' => 'tx_ttnews[pointer]',
    65. 'valueMap' => array(
    66. 'weiter' => '1',
    67. 'weiter' => '2',
    68. ),
    69. ),
    70. ),
    71. 'kategorie' => array (
    72. 'GETvar' => 'tx_ttnews[cat]',
    73. 'lookUpTable' => array (
    74. 'table' => 'tt_news_cat',
    75. 'id_field' => 'uid',
    76. 'alias_field' => 'title',
    77. 'addWhereClause'=> 'AND NOT deleted',
    78. 'useUniqueCache'=> 1,
    79. 'useUniqueCache_conf' => array (
    80. 'strtolower' => 1,
    81. 'spaceCharacter' => '-',
    82. ),
    83. ),
    84. ),
    85. ),
    86. '-' => array(
    87. 'GETvar' => 'tx_ttnews[year]',
    88. ),
    89. 'GETvar' => 'tx_ttnews[month]' ,
    90. ),
    91. 'GETvar' => 'tx_ttnews[day]' ,
    92. ),
    93. 'GETvar' => 'tx_ttnews[tt_news]',
    94. 'lookUpTable' => array(
    95. 'table' => 'tt_news',
    96. 'id_field' => 'uid',
    97. 'alias_field' => 'title',
    98. 'addWhereClause' => ' AND NOT deleted',
    99. 'useUniqueCache' => 1,
    100. 'useUniqueCache_conf' => array(
    101. 'strtolower' => 1,
    102. 'spaceCharacter' => '-',
    103. ),
    104. ),
    105. ),
    106. ),
    107. 'aktion' => array(
    108. 'GETvar' => 'tx_ablinklist_pi1[action]',
    109. 'valueMap' => array(
    110. 'zeige-kategorie' => 'getviewcatalog',
    111. 'neuer-link' => 'getviewaddnewlink',
    112. 'goto' => 'getviewclickedlink',
    113. 'link-detail' => 'getviewdetailsforlink',
    114. 'broken-link' => 'getviewreportbrokenlink',
    115. 'rate-link' => 'getviewratelink',
    116. ),
    117. ),
    118. ),
    119. 'link-kategorie' => array(
    120. 'GETvar' => 'tx_ablinklist_pi1[category_uid]',
    121. 'valueMap' => array(
    122. 'home' => '0',
    123. ),
    124. 'lookUpTable' => array(
    125. 'table' => 'tx_ablinklist_category',
    126. 'id_field' => 'uid',
    127. 'alias_field' => 'label',
    128. 'addWhereClause' => ' AND NOT deleted',
    129. 'useUniqueCache' => 1,
    130. 'useUniqueCache_conf' => array(
    131. 'strtolower' => 1,
    132. 'spaceCharacter' => '-',
    133. ),
    134. ),
    135. ),
    136. ),
    137. 'link' => array(
    138. 'GETvar' => 'tx_ablinklist_pi1[uid]',
    139. 'lookUpTable' => array(
    140. 'table' => 'tx_ablinklist_link',
    141. 'id_field' => 'uid',
    142. 'alias_field' => 'label',
    143. 'addWhereClause' => ' AND NOT deleted',
    144. 'useUniqueCache' => 1,
    145. 'useUniqueCache_conf' => array(
    146. 'strtolower' => 1,
    147. 'spaceCharacter' => '-',
    148. ),
    149. ),
    150. ),
    151. ),
    152. 'element' => array(
    153. 'GETvar' => 'tx_ablinklist_pi1[cid]',
    154. ),
    155. ),
    156. 'seite' => array(
    157. 'GETvar' => 'tx_ablinklist_pi1[pointer]',
    158. ),
    159. ),
    160. 'gb-seite' => array(
    161. 'GETvar' => 'tx_veguestbook_pi1[pointer]',
    162. ),
    163. ),
    164. 'details' => array(
    165. array('GETvar' => 'produkt',
    166. 'lookUpTable' => array(
    167. 'table' => $tt_products_table,
    168. 'id_field' => $tt_products_uid,
    169. 'alias_field' => 'concat(title)',
    170. 'addWhereClause' => ' AND deleted != 1',
    171. 'useUniqueCache' => 1,
    172. 'autoUpdate' => 1,
    173. 'useUniqueCache_conf' => array(
    174. 'strtolower' => 1,
    175. 'spaceCharacter' => '-',
    176. ),
    177. ),
    178. ),
    179. ),
    180. ),
    181. ),
    182. // configure filenames for different pagetypes
    183. 'fileName' => array(
    184. 'index' => array(
    185. 'rss.xml' => array(
    186. 'keyValues' => array(
    187. 'type' => 100,
    188. ),
    189. ),
    190. 'rss091.xml' => array(
    191. 'keyValues' => array(
    192. 'type' => 101,
    193. ),
    194. ),
    195. 'rdf.xml' => array(
    196. 'keyValues' => array(
    197. 'type' => 102,
    198. ),
    199. ),
    200. 'atom.xml' => array(
    201. 'keyValues' => array(
    202. 'type' => 103,
    203. ),
    204. ),
    205. ),
    206. ),
    207. ),
    208. );
    209.  
    210. ?>

    Goldene Zeiten Juweliere
    Goldankauf - Juwelier - Trauringe - Verlobungsringe - Goldschmiede - Uhrmacher

  • 1