使用非主键作为RealURL id_field

时间:2015-02-25 13:16:45

标签: typo3 extbase typo3-6.2.x realurl

在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}}">

0 个答案:

没有答案