Extbase:在 realURL 中配置控制器和动作以获取详细信息

Extbase: configure controller and action in realURL for detail

我对 realURL 和 extbase 感到疯狂。

是否有一个简单的解决方案可以让 list/detail 扩展显示至少有序的 URL,可能采用

的形式
/show/detail/title-of-the-item

"show" 和 "detail" 是动作和控制器,例如

我一直在尝试删除控制器和操作,例如 RealURL: Remove Controller and Action from URL 中的建议 - 但总有一些东西不起作用。疯狂的。 它甚至没有删除 cHash。

我现在的realurl_conf是:

<?php

$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = getRealURL('1');


function getRealURL($root)
{
    return array(
        'init' => array(
            'appendMissingSlash' => 'ifNotFile',
            'enableUrlDecodeCache' => 1,
            'enableCHashCache' => 1,
            'enableUrlEncodeCache' => 1,
            'respectSimulateStaticURLs' => 0,
           'postVarSet_failureMode'=>'redirect_goodUpperDir',

        ),
    'redirects_regex' => array (

    ),
    'preVars' => array(
                        array(
                             'GETvar' => 'L',
                             'valueMap' => array(
                                                'de' => '0',
                                                'fr' => '1',
                                        ),
                             'valueDefault' => 'de',
                             'noMatch' => 'bypass',
                        ),
                      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' => 7,
            'rootpage_id' => 1,
        ),


         'postVarSets' => array(
            '_DEFAULT' => array(
                'wb' => array(
                    array(
                        'GETvar' => 'tx_weiterbildung_pi1[item]' ,
                        'lookUpTable' => array(
                            'table' => 'tx_weiterbildung_domain_model_item',
                            'id_field' => 'uid',
                            'alias_field' => 'kurs_titel',
                            'addWhereClause' => ' AND NOT deleted',
                            'useUniqueCache' => 1,
                            'useUniqueCache_conf' => array(
                                'strtolower' => 1,
                                'spaceCharacter' => '-',
                            ),
                        ),
                    ),
                ),
            ),
        ),

      'fileName' => array(
            'defaultToHTMLsuffixOnPrev'=>0,
            '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,
                    ),
                ),
            ),
        ),
 );
}
/**********************************
REALURL end
***********************************/
?>

不是很简单,但至少可以工作...

在我的每个分机中,我不使用 f:link.action VH,而是 f:link.page,因此您可以生成链接,例如

?id=123&tx_yourext_foo=bar

没有控制器和动作参数,当然正如您所看到的,您很可能需要修改您的 FE 插件,以使用 GeneralUtility::_GP('tx_yourext_foo') 读取这些参数,特别是如果此插件使用超过 on 模式(动作)取决于参数