在 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
在真实网址中?如何?
如果没有,您会推荐什么策略?
导入后,(如果 extbase 允许)我还可以强制使用original_uid
into uid
,这是不好的做法吗?
或者使original_uid
主键,保留 AUTO_INCRMENT 与uid
?
编辑:问题不同,我忘记修改列表模板,请参阅下面的评论。
代替
<f:link.page additionalParams="{tx_weiterbildung_pi1 :{item : item}}">
模板中的链接必须接收替换的参数:
<f:link.page additionalParams="{tx_weiterbildung_pi1 :{item : item.originalUid}}">