我有一个与自身有1:n关系的模型(一个产品可以有多个子产品)。
更新此模型(父项)的条目时,所有其他产品的排序混淆了。
子的TCA:
sub_product' => [
'exclude' => true,
'label' => 'SubProduct',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_gbform_domain_model_product',
'foreign_field' => 'product',
'foreign_sortby' => 'sorting',
'maxitems' => 9999,
'appearance' => [
'collapseAll' => 0,
'levelLinksPosition' => 'top',
'showSynchronizationLink' => 1,
'showPossibleLocalizationRecords' => 1,
'useSortable' => 1,
'showAllLocalizationLink' => 1,
],
],
],
有任何想法如何防止这种行为?
请检查表格的'ctrl'
定义是否启用了整个表格的排序。如果您还想更改同一个表的内联元素的排序,则不应该这样。查看官方文档中的警告:https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/Inline.html#foreign-sortby
当您需要对不同主要产品的相同子产品进行不同的排序时,1:n与目标表的原始排序字段不是一个选项。
您应该改为使用MM表,或者甚至使用IRRE教程中描述的中间表。