TYPO3 RealUrl 详细视图 fixedPostVars

TYPO3 RealUrl detail view fixedPostVars

您好,对于我的扩展,我使用 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',

这会生成一个不错的详细视图 URL,例如 https://www.bla.com/article/title

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

我在 2 个不同的扩展程序上遇到了这种行为。上面那个比较简单

我该如何解决这个问题。真实网址 2.15

[1 月 24 日编辑] ===============

保存记录后,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]

你的问题是 tx_realurl_urldata 被删除了。

一旦发生这种情况,真正的url 将无法重建您的 url。尝试解码 /article/title 时,它认为 title 是您要调用的操作,但它不存在,因此您得到 404.

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

一样解决它