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
一样解决它
您好,对于我的扩展,我使用 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
一样解决它