TYPO3 RealURL postVarSets隐藏关键字

Ric*_*old 1 typo3 realurl

我有一个如下所示的URL:

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
Run Code Online (Sandbox Code Playgroud)

使用具有以下配置的RealURL(以及此处说明的一些钩子函数):

'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' => '-',
                        )
                    )
                ),
            ),
        ),
    ),
Run Code Online (Sandbox Code Playgroud)

我得到一个如下所示的网址:

http://domain.com/leistungen/industrial-design/industrial-design/projekt/project-b/
Run Code Online (Sandbox Code Playgroud)

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

tmt*_*tmt 5

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

  1. 更改页面结构,使您根本没有工业设计页面.
  2. 重命名postVarSets您在RealURL配置中设置的内容.
  3. fixedPostVars相反,请使用不使用关键字来标识变量集而是使用页面UID.

  • 我很好奇......我找不到`fixedPostVarSets`的文档或者如何使用它.在线所有示例仅将其作为空数组.如果您使用Google,则只能在此处找到此帖子.是使用带有页面ID而不是`_DEFAULT`的`postVarSets`,还是使用页面ID代替postVar关键字? (2认同)