Zum Inhalt springen

Extension und RealUrl Pfadoptimierung

Erstellt am 27. Oktober 2011 · 5 Antworten · letzte Antwort am 1. November 2011

Tags: RealURL, Frage

Halion ·

Hallo,
habe eine Extension geschrieben welche mehrere Listenansicht und mehrere Detailseiten hat. Leider ist die Pfadgenerierung momentan in folgender Weise:

Listenansicht:
www.domain.de/produkte/seite.html

Detailansicht:
www.domain.de/produkte/singleview/seite.html

Wie geht es das die Detailseite ohne den URL Zusatz funktioniert?
Sodass egal ob List oder Singleview immer nur ein URL Parameter nach der Hauptdomain kommt?

Wäre Super wenn jemand helfen kann!
PS: Meine RealUrl Config:

$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',title,alias';
$TYPO3_CONF_VARS['EXTCONF']['realurl'] =
array(
		'encodeSpURL_postProc' => array('user_encodeSpURL_postProc'),
        '_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',
                    'de' => '1',
                ),
                'noMatch' => 'bypass',
            ),
        ),
        'pagePath' => array(
            'type' => 'user',
            'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
            'spaceCharacter' => '-',
            'languageGetVar' => 'L',
            'expireDays' => 3,
            'rootpage_id' => $RootPID[$_SERVER['HTTP_HOST']]
        ),
        'fileName' => array (
            'defaultToHTMLsuffixOnPrev'=> 0,
            'acceptHTMLsuffix' => 0,
      'index' => array (
        'sitemap.xml' => array (
          'keyValues' => array (
            'type' => 200
	  ),
        ),
      ),
        ),
       'fixedPostVars' => array(
       'news' => 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,
          ),
        ),
      ),
     ),
        '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',
                            'addWhereClause' => ' AND NOT deleted',
                            'useUniqueCache' => 1,
                            'useUniqueCache_conf' => array(
                                'strtolower' => 1,
                                'spaceCharacter' => '-',
                                ),
                            ),
                        ),
                    array(
                        'GETvar' => 'tx_ttnews[backPid]',
                    ),
                    array(
                        'GETvar' => 'tx_ttnews[swords]',
                        ),
                    ),
                    'packets' => array(
                    array(
                        'GETvar' => 'tx_myext[packtes]',
                        'lookUpTable' => array(
                            'table' => 'tx_myext_packets',
                            'id_field' => 'uid',
                            'alias_field' => 'title',
                            'addWhereClause' => ' AND NOT deleted',
                            'useUniqueCache' => 1,
                            'useUniqueCache_conf' => array(
                                'strtolower' => 1,
                                'spaceCharacter' => '-',
                                ),
                            ),
						
					
                         ),									
                    ),
            	'products' => array(
                    array(
                        'GETvar' => 'tx_myext[packet]',
                        'lookUpTable' => array(
                            'table' => 'tx_myext_products',
                            'id_field' => 'uid',
                            'alias_field' => 'title',
                            'addWhereClause' => ' AND NOT deleted',
                            'useUniqueCache' => 1,
                            'useUniqueCache_conf' => array(
                                'strtolower' => 1,
                                'spaceCharacter' => '-',
                                ),
                            ),
						
					
                         ),									
                    ),
			    ),
			
            ),
    ),
);

// RealURL - valueMap creation for tt-news
for($x=1; $x<=100; $x++) {
    $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['fixedPostVars']['news'][0]['valueMap'][$x+1] = $x;
}

Gruß

aemka ·

Ohne irgendein Segment zwischen Domain und Parameter wirst du in TYPO3 nur URL auf bspw. ein Record erzeugen können, wenn du dein Detail-Ansichts Plugin auf die absolute Root-Seite im Seitenbaum legst und ein fixedPostVars Element in der Realurl Konfiguration auf diese Seite einstellst. So was wird bei komplexen Projekten aber wohl schwer realisierbar sein, wenn es viele verschiedene Detailansichten gibt. Daher musst du in der Regel mit wenigstens einem Pfadsegment in der URL leben.

Halion ·

mit einem Pfadsegemnt könnte ich ja gut leben, allerdings würde ich ungerne 2 haben wollen.

Eine Idee wie ich das löse?

Gruß