Каскадное удаление встроенных записей TYPO3 не работает - PullRequest
0 голосов
/ 05 июля 2019

У меня есть расширение TYPO3 для некоторых продуктов, которое использует встроенные записи для добавления групп документов в продукт. Удаление продукта должно также удалить группы документов (встроенные записи).

В документации сказано, что behaviour.enableCascadingDelete по умолчанию установлено на true, но группы документов не удаляются. Установка этого значения в TCA не имеет значения.

'documentgroups' => [
    'exclude' => 1,
    'label' => $ll . ".documentgroups",
    'config' => [
        'type' => 'inline',
        'allowed' => 'tx_product_domain_model_docgroup',
        'behaviour' => [
            'allowLanguageSynchronization' => true,
            'enableCascadingDelete' => true,
        ],
        'foreign_table' => 'tx_product_domain_model_docgroup',
        'MM'            => 'tx_product_mm',
        'MM_match_fields' => [
            'tablenames' => 'tx_product_domain_model_docgroup',
            'fieldname' => 'documentgroups',
            'table_local' => $tableName,
        ],
        'foreign_sortby' => 'sorting',
        'minitems' => 0,
        'maxitems' => 99,
    ]
],

1 Ответ

1 голос
/ 09 июля 2019

enableCascadingDelete не влияет на таблицы, связанные с MM.В \TYPO3\CMS\Core\DataHandling\DataHandler->deleteRecord_procBasedOnFieldType проверяется встроенный тип, и только если он имеет тип field (* TC4 должен быть установлен в TCA) или list (MM и foreign_field не должны быть установлены в TCA) дочерние записибудут удалены.

...