TYPO3 RealUrl详细信息视图fixedPostVars

时间:2017-01-23 16:31:24

标签: typo3 typo3-7.6.x realurl

您好我的扩展我使用RealUrl fixedPostVars作为详细信息视图..

    'fixedPostVars' => array(
'article' => array(
    array(
        'GETvar' => 'tx_bla_news[action]',
        'valueMap' => array(
            'show' => '',
        ),
        'noMatch' => 'bypass'
    ),
    array(
        'GETvar' => 'tx_bla_news[controller]',
        'valueMap' => array(
            'Article' => '',
        ),
        'noMatch' => 'bypass'
    ),
    array(
        'GETvar' => 'tx_bla_news[article]',
        'lookUpTable' => array(
            'table' => 'tx_bla_domain_model_article',
            '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' => 'l10n_parent',
            'autoUpdate' => 1,
            'expireDays' => 180,
            'enable404forInvalidAlias' => 1,
        ),
    ),
),
'85' => 'article',

这会生成一个很好的详细视图网址,例如https://www.bla.com/article/title

现在,当文章被编辑时,这个URL在第一次点击时不再起作用,我们需要转到列表视图,然后再从那里点击它,然后再次使用。

我在2个不同的扩展上得到了这种行为。上面的内容相当简单。

我该如何解决这个问题。 RealUrl 2.15

[EDIT 24 jan] ===============

保存记录后,tx_realurl_urldata和tx_realurl_uniqalias中记录的相应条目将被删除。 如何防止在保存后丢失条目?

tx_realurl_uniqalias获取过期时间戳。

如果

中的操作部分发生了变化
    'valueMap' => array(
        'show' => 'show',
     ),
    'noMatch' => 'bypass'

或者只是在

    'valueDefault' => 'show'

一切正常。但后来我总是得到一个额外的URL部分显示..

====== 感谢Franske我得到了它的工作:)

使用ts解决方案:

    [globalVar = GP:tx_bla_news|article > 0]
        config.defaultGetVars {
        tx_bla_news {
            controller = Article
            action = show
        }
     }
    [global]

1 个答案:

答案 0 :(得分:1)

您的问题是tx_realurl_urldata已被删除。

一旦发生这种情况,realurl无法重建您的网址。在尝试解码/article/title时,它认为title是您要调用的操作但不存在,因此您获得了404

我建议将动作和控制器部分移动到URL的末尾。或者甚至可以删除它们并像https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/BestPractice/Realurl/Index.html#removing-controller-and-action-arguments-from-url

一样解决它