【问题标题】:TYPO3 8.7 TCA Select on own TableTYPO3 8.7 TCA 在自己的表上选择
【发布时间】:2018-08-22 01:01:25
【问题描述】:

在核心更新从 TYPO3 6.2 LTS 到 8.7 LTS 后,我们遇到了 TCA 中定义的选择问题。

问题是,选择使用了所有可用内存。我认为,问题是由于 TCA 中的选择选择了自己的表,我们现在有一个循环。

在 TYPO3 6.2 中,选择按预期工作。

有人可以确认这种行为或对此有解决方案吗?

最好的问候

马库斯·格里格

文件配置/TCA/Override/tt_address.php:

'tx_twwcprojectmanager_company' => array(
    'exclude' => 0,
    'label' => 'LLL:EXT:twwc_projectmanager/Resources/Private/Language/locallang_db.xlf:tx_twwcprojectmanager_domain_model_company.tx_twwcprojectmanager_company',
    'config' => array(
        'type' => 'select',
        'items' => array(
            array('LLL:EXT:twwc_projectmanager/Resources/Private/Language/locallang_db.xlf:tt_address.tx_twwczusatzprojekte_nochoice', 0),
        ),
        'foreign_table' => 'tt_address',
        'foreign_table_where' => 'ORDER BY company',
        'minitems' => 0,
        'maxitems' => 1,
    ),
),

【问题讨论】:

    标签: php typo3 typo3-8.x dbal typo3-extensions


    【解决方案1】:

    您必须在 foreign_table_where 字符串中排除元素的 uid:

    'foreign_table_where' => ' AND tt_address.uid != ###THIS_UID### ORDER BY tt_address.company'
    

    您可以在类似的上下文中使用其他几个标记: https://docs.typo3.org/typo3cms/TCAReference/8.7/ColumnsConfig/Type/Select.html#foreign-table-where

    【讨论】:

    • 非常感谢您的回答。这就说得通了。但我收到以下错误:致命错误:/var/www/vendor/typo3/cms/typo3/sysext/backend/Classes/Form/Element/SelectSingleElement.php 中允许的内存大小为 134217728 字节已用尽(试图分配 23068864 字节)在第 172 行
    • 这对我来说听起来像是很多地址,而 128MB 作为内存限制可能太低了。您应该增加它或要求您的服务器管理员为您执行此操作,或者找到另一种方法来减少您的 foreign_table_where 中的结果集..
    • 谢谢,就是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多