TYPO3使ExtbaseGuide示例正常工作,获取设置类别

时间:2016-12-14 07:19:22

标签: typo3 extbase typo3-6.2.x typo3-7.6.x

我关注了Creating an Extbase extension'在TYPO3文档中并构建产品概述,一切正常。

下一步教导' Extending an Extbase extension'并且这也有效但最后一步改变了TCA以便选择存储的类别,而不是将它们添加到内联...

列表显示了创建的类别的选择可能性,我可以选择它们但不保存,如果我检查数据库类别已保存但它没有显示在后端,并且typo3无法识别类别保存在现场......

任何人都可以给出使其工作所需的最终步骤...(我已经安装,卸载,清除缓存,使用安装工具等多次清理......)

这是我的tca:

/* original working inline code
        'categories' => [
            'exclude' => 1,
            'label' => 'LLL:EXT:productoverview/Resources/Private/Language/locallang_db.xlf:tx_productoverview_domain_model_product.categories',
            'config' => [
                'type' => 'inline',
                'foreign_table' => 'tx_productoverview_domain_model_category',
                'foreign_field' => 'product',
                'maxitems' => 9999,
                'appearance' => [
                    'collapseAll' => 0,
                    'levelLinksPosition' => 'top',
                    'showSynchronizationLink' => 1,
                    'showPossibleLocalizationRecords' => 1,
                    'showAllLocalizationLink' => 1
                ],
            ],

        ],
suggested category selection */
        'categories' => [
          'exclude' => 0,
          'label' => 'LLL:EXT:productoverview/Resources/Private/Language/locallang_db.xml:tx_productoverview_domain_model_product.categories',
          'config' => [
            'type' => 'select',
            'renderType' => 'selectMultipleSideBySide',
            'foreign_table' => 'tx_productoverview_domain_model_category',
            'foreign_field' => 'product',
            'maxitems'      => 9999,
          ],
        ],

    ],
];

更新:我发现this answer of 2 years之前在v7.6.14中给出了错误,但解释了很多,我仍然希望在这里有一个更简单的答案......

2 个答案:

答案 0 :(得分:1)

几天前我在更新旧项目时遇到了同样的问题。解决这个问题的方法是除了type = select:https://docs.typo3.org/typo3cms/TCAReference/Reference/Columns/Select/Index.html#rendertype

之外还要定义一个renderType

答案 1 :(得分:1)

我确实尝试过j4k3的解决方案(因为其他经验丰富的开发人员也提到了它)但是我无法让它在我的localhost上工作并且从未发现原因(仍然对此感兴趣,我在Windows 7专业版上运行xampp)

最终我找到了一个对我有用的解决方案非常简单: 在当前的扩展程序构建器中,您可以选择从选择列表中选择关系类型

我把它(从未在ExtbaseGuide中提到)留给1:n,因为这是实际需要的关系,但现在我使用m:n并且我的麻烦消失了,构建器会自动创建一个额外的MM关系表并且完整TCA代码,它在构建器保存扩展后直接工作......