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

时间:2018-09-12 08:41:55

标签: php typo3 extbase

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

关于如何防止这种行为的任何想法?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

当您需要对同一子产品进行不同的排序而不是对不同的主要产品进行排序时,不建议使用1:n和目标表的原始排序字段。

您应该改为使用MM表,或者甚至按照IRRE教程中的说明使用中间表。