Я хотел бы изменить настройку cropVariants
для coverAreas
на основе выбора, сделанного в других столбцах TCA того же элемента содержимого.
Пользователь должен сначала определить горизонтальное положение изображенияв пределах внутреннего поля tx_maskproject_position_horizontal
.Который может быть left
или right
.Исходя из решения, coverAreas
должен покрывать другую часть изображения в мастере «Обработка изображений».
Переопределение TCA для изображения выглядит следующим образом:
<?php
defined('TYPO3_MODE') or die();
(function ($vendor, $extKey, $table) {
/**
* Content modifications
*/
if (is_array($GLOBALS['TCA']['tt_content']['types']['maskproject_teaser'])) {
$GLOBALS['TCA'][$table]['types']['maskproject_teaser']['columnsOverrides'] = [
'tx_maskproject_image_required' => [
'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' => '991:557',
'allowedAspectRatios' => [
'539:657' => [
'title' => '991:557',
'value' => 991 / 557
],
],
'coverAreas' => [
[
'x' => 0.0,
'y' => 0.86,
'width' => 1.0,
'height' => 0.14,
]
],
],
'desktop' => [
'title' => 'Desktop',
'selectedRatio' => '884:498',
'allowedAspectRatios' => [
'884:498' => [
'title' => '884:498',
'value' => 884 / 498
],
],
'coverAreas' => [
[
'x' => 0.0,
'y' => 0.0,
'width' => 0.5,
'height' => 1.0,
]
],
],
]
],
],
],
],
],
]
];
}
})('Vendor', 'project', 'tt_content');
Isв этом месте что-то возможно?Что-то похожее на условия отображения (displayCond)?