在TYPO3 6.2站点中,我在realurl_conf.php中为extbase扩展提供了以下postVarSets
:
'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没有正确构建。
那么:是否可以在RealURL中使用非主要字段id_field
?怎么样?
如果没有,你会推荐什么策略?
导入后,(如果extbase允许)我也可以将original_uid
的值强制转换为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}}">