Extbase:在同一模型上使用1:n时,排序变得混杂

问题描述 投票:0回答:2

我有一个与自身有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,
      ],
   ],
],

有任何想法如何防止这种行为?

php typo3 extbase
2个回答
0
投票

请检查表格的'ctrl'定义是否启用了整个表格的排序。如果您还想更改同一个表的内联元素的排序,则不应该这样。查看官方文档中的警告:https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/Inline.html#foreign-sortby


0
投票

当您需要对不同主要产品的相同子产品进行不同的排序时,1:n与目标表的原始排序字段不是一个选项。

您应该改为使用MM表,或者甚至使用IRRE教程中描述的中间表。

© www.soinside.com 2019 - 2024. All rights reserved.