Переопределить конфигурацию TCA для imageManipulation / crop только для одного типа контента (CType) - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть три типа элементов содержимого (tt_content | types), которые используют столбец image с каждым отношением FAL для одного изображения.

Я хотел бы использовать для 2 элементов содержимого type = 'imageManipulation' ( Документы ) с 2 различными конфигурациями и для одного только изображение как оно есть.

Поскольку type = 'imageManipulation' обычно определяется для sys_file_reference, то же самое для всех случаев использования.

Возможно ли с помощью переопределений TCA архивировать различные конфигурации для разных элементов контента?

Я попробовал комбинацию columnsOverrides и overrideChildTca , но в данный момент это не работает:

<?php
defined('TYPO3_MODE') or die();

(function () {
    if (is_array($GLOBALS['TCA']['tt_content']['types']['mask_teaser_hero'])) {
        $GLOBALS['TCA']['tt_content']['types']['mask_teaser_hero']['columnsOverrides'] = [
            'tx_maskproject_teaserimage' => [
                'config' => [
                    'overrideChildTca' => [
                        'columns' => [
                            'crop' => [
                                'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.crop',
                                'config' => [
                                    'type' => 'imageManipulation',
                                    'cropVariants' => [
                                        'mobile' => [
                                            'title' => 'Mobile',
                                            'selectedRatio' => '4:3',
                                            'allowedAspectRatios' => [
                                                '4:3' => [
                                                    'title' => 'LLL:EXT:lang/Resources/Private/Language/locallang_wizards.xlf:imwizard.ratio.4_3',
                                                    'value' => 4 / 3
                                                ],
                                            ],
                                        ],
                                        'desktop' => [
                                            'title' => 'Desktop',
                                            'selectedRatio' => '16:9',
                                            'allowedAspectRatios' => [
                                                '16:9' => [
                                                    'title' => 'LLL:EXT:lang/Resources/Private/Language/locallang_wizards.xlf:imwizard.ratio.16_9',
                                                    'value' => 16 / 9
                                                ],
                                            ],
                                        ],
                                    ]
                                ],
                            ],
                        ]
                    ],
                ]
            ]
        ];
    }

})();

Сначала я подумал о Typoscript TCEFORM: https://metinyilmaz.de/artikel/typo3-image-cropvariants/

Но это также будет отображаться в каждом элементе контента.

1 Ответ

1 голос
/ 18 апреля 2019

Я нашел ошибку.Корректировка TCA верна.Но типа не было.

Я использую EXT: mask_export для элементов содержимого.В примере из вопроса я переопределяю элементы содержимого, которые добавляет EXT: mask.Но экспортируемые элементы содержимого - это разные элементы содержимого.

Правильный:

<?php
defined('TYPO3_MODE') or die();

(function () {
    if (is_array($GLOBALS['TCA']['tt_content']['types']['myextname_teaser_hero'])) {
        $GLOBALS['TCA']['tt_content']['types']['myextname_teaser_hero']['columnsOverrides'] = [
            'tx_myextname_teaserimage' => [
                'config' => [
                    'overrideChildTca' => [
                        'columns' => [
                            'crop' => [
                                'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.crop',
                                'config' => [
                                    'type' => 'imageManipulation',
                                    'cropVariants' => [
                                        'mobile' => [
                                            'title' => 'Mobile',
                                            'selectedRatio' => '4:3',
                                            'allowedAspectRatios' => [
                                                '4:3' => [
                                                    'title' => 'LLL:EXT:lang/Resources/Private/Language/locallang_wizards.xlf:imwizard.ratio.4_3',
                                                    'value' => 4 / 3
                                                ],
                                            ],
                                        ],
                                        'desktop' => [
                                            'title' => 'Desktop',
                                            'selectedRatio' => '16:9',
                                            'allowedAspectRatios' => [
                                                '16:9' => [
                                                    'title' => 'LLL:EXT:lang/Resources/Private/Language/locallang_wizards.xlf:imwizard.ratio.16_9',
                                                    'value' => 16 / 9
                                                ],
                                            ],
                                        ],
                                    ]
                                ],
                            ],
                        ]
                    ],
                ]
            ]
        ];
    }

})();
...