TYPO3 RealURL postVarSets隐藏关键字

时间:2012-06-13 21:03:12

标签: typo3 realurl

我的网址如下:

http://domain.com/leistungen/industrial-design/?tx_fsproject_fsprojectfp%5Bproject%5D=2&tx_fsproject_fsprojectfp%5Baction%5D=show&tx_fsproject_fsprojectfp%5Bcontroller%5D=Project&cHash=7c405bcde49853af9a7e78bdf465002c

使用具有以下配置的RealURL(以及解释here时的一些钩子函数):

'postVarSets' => array(
        '_DEFAULT' => array(
            // projects
            'industrial-design' => array(
                array(
                    'GETvar' => 'tx_fsproject_fsprojectfp[controller]',
                ),
                array(
                    'GETvar' => 'tx_fsproject_fsprojectfp[action]',
                ),
                array(
                    'GETvar' => 'tx_fsproject_fsprojectfp[project]',
                    'lookUpTable' => array(
                        'table' => 'tx_fsproject_domain_model_project',
                        'id_field' => 'uid',
                        'alias_field' => 'title',
                        'addWhereClause' => ' AND deleted !=1 AND hidden !=1',
                        'useUniqueCache' => 1,
                        'useUniqueCache_conf' => array(
                            'strtolower' => 1,
                            'spaceCharacter' => '-',
                        )
                    )
                ),
            ),
        ),
    ),

我得到的网址如下:

http://domain.com/leistungen/industrial-design/industrial-design/projekt/project-b/

这还不错。但是,为什么industrial-design/部分会出现两次?

1 个答案:

答案 0 :(得分:5)

第一个 industrial-design 是正在显示的页面。第二个是RealURL插入的关键字,用于标识变量集。为了避免这种情况,你可以:

  1. 更改页面结构,使您根本没有 industrial-design 页面。
  2. 重命名您在RealURL配置中设置的postVarSets
  3. 使用fixedPostVars代替,因为它不使用关键字来标识变量集,而是使用页面UID。