Zum Inhalt springen

tt_news, realurl, Mehrsprachigkeit: URL in Single-View

Erstellt am 23. Juli 2008 · 3 Antworten · letzte Antwort am 26. November 2009

Tags: Frage

Morgenthau ·

Hallo,
ich nutze tt_news mit realurl bei einer zweisprachigen Seite (ein Seitenbaum). Leider wird bei der Generierung der URLs der Einzelansichten von News immer die Standardsprache benutzt. Zur Illustration:

URLs sehen so aus:
domain.de/aktuelles/ (Deutsch, Standard)
domain.de/en/news/ (English, L=2)

Ein deutscher News-Artikel sieht so aus:
domain.de/aktuelles/ansicht/article/artikel-ueberschrift/

Leider sehen englische News-Artikel so aus:
domain.de/en/news/view/article/artikel-ueberschrift/

Wie bekomme ich es hin, dass die englische News-URL so aussieht:
domain.de/en/news/view/article/english-headline/

Ich möchte also, dass bei der Generierung der URL eines englischen News-Artikels der Titel des englischen Artikels, statt der des deutschen Artikels benutzt wird. Hat jemand eine Idee?

Setup des Root-Templates:

config {
	sys_language_uid = 0
	language = de
	locale_all = de_DE
	htmlTag_langKey = de
	linkVars = L
	uniqueLinkVars = 1
	sys_language_mode = content_fallback
	sys_language_overlay=1
}
page {
	config.metaCharset = utf-8
	config.additionalHeaders = Content-Type:text/html;charset=utf-8
}

# English:
[globalVar = GP:L = 2]
config {
	sys_language_uid = 2
	language = en
	locale_all = en_US
	htmlTag_langKey = en
}
[global]

plugin.tt_news {
	sys_language_mode = strict
}

realurl_conf.php:

<?php

$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
	'_DEFAULT' => array(
		'init' => array(
			'enableCHashCache' => 1,
			'appendMissingSlash' => 'ifNotFile',
			'enableUrlDecodeCache' => 1,
			'enableUrlEncodeCache' => 1,
		),
		'redirects' => array(),
		'preVars' => array(
			array(
				'GETvar' => 'no_cache',
				'valueMap' => array(
					'nc' => 1,
				),
				'noMatch' => 'bypass',
			),
			array(
				'GETvar' => 'L',
				'valueMap' => array(
					'en' => '2',
				),
				'noMatch' => 'bypass',
			),
		),
		'pagePath' => array(
			'type' => 'user',
			'userFunc' => 'EXT:aoe_realurlpath/class.tx_aoerealurlpath_pagepath.php:&tx_aoerealurlpath_pagepath->main',
#            'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
			'spaceCharacter' => '-',
			'languageGetVar' => 'L',
			'expireDays' => 7,
			'rootpage_id' => 2,
			'segTitleFieldList'=>'alias,tx_aoerealurlpath_overridesegment,nav_title,title,subtitle',
#			'segTitleFieldList'=>'alias,nav_title,title,subtitle',
		),
		'fixedPostVars' => array(),
		'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
				'article' => array(
					array(
						'GETvar' => 'tx_ttnews[tt_news]',
						'lookUpTable' => array(
							'table' => 'tt_news',
							'id_field' => 'uid',
							'alias_field' => 'title',
							'maxLength' => 100,
							'addWhereClause' => ' AND NOT deleted',
							'useUniqueCache' => 1,
							'useUniqueCache_conf' => array(
								'strtolower' => 1,
								'spaceCharacter' => '-',
								),
							),
						),
					array(
						'GETvar' => 'tx_ttnews[swords]',
						),
					),
				),
			),
		// configure filenames for different pagetypes
		'fileName' => array(
			'defaultToHTMLsuffixOnPrev'=> false,
			'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,
					),
				),
			),
		),
	),
);

?>
just2b ·

nimm mal den schnippsel

      'article' => array(
        array(
          'GETvar' => 'tx_ttnews[pointer]',
          'valueMap' => array(),
          'noMatch' => 'bypass',
        ),
        array(
          'GETvar' => 'tx_ttnews[tt_news]',
          'lookUpTable' => array(
            'table' => 'tt_news',
            'id_field' => 'uid',
            'alias_field' => 'title',
            'addWhereClause' => ' AND NOT deleted',
            'useUniqueCache' => 1,
            'useUniqueCache_conf' => array(
              'strtolower' => 1,
              'spaceCharacter' => '-',
            ),
            'languageGetVar' => 'L',
            'languageExceptionUids' => '',
            'languageField' => 'sys_language_uid',
            'transOrigPointerField' => 'l18n_parent',
            'autoUpdate' => 1,
            'expireDays' => 180,
          ),
        ),
      ),