在 TYPO3 6.2 站点中,我postVarSets
在 realurl_conf.php 中有以下内容作为 extbase 扩展:
'postVarSets' => array(
'_DEFAULT' => array(
'wba' => array(
array(
'GETvar' => 'tx_weiterbildung_pi1[item]' ,
'lookUpTable' => array(
'table' => 'tx_weiterbildung_domain_model_item',
'id_field' => 'uid',
'alias_field' => 'kurs_titel',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
),
),
这行得通。
由于此表中的数据是从另一个站点导入的,我意识到为避免混淆,我必须通过另一个字段(包含条目的原始 uid)解析 URL:
'id_field' => 'original_uid'
但是当我这样做时,URL 没有正确构建。
那么:是否可以像id_field
在 RealURL 中那样使用非主要字段?如何?
如果没有,你会推荐什么策略?
导入后,(如果 extbase 允许)我也可以强制original_uid
into的值uid
,这是不好的做法吗?或者制作original_uid
主键,留下 AUTO_INCREMENT uid
?
编辑:问题不同,我忘了修改列表模板,请参阅下面的评论。
代替
<f:link.page additionalParams="{tx_weiterbildung_pi1 :{item : item}}">
模板中的链接必须接收替换的参数:
<f:link.page additionalParams="{tx_weiterbildung_pi1 :{item : item.originalUid}}">