Flux Field Inline Fal mit CropVariants

Flux Field Inline Fal mit CropVariants

我目前正在将一个带有 Flux 的 TYPO3 项目更新到 TYPO3 10,现在我想将所有字段迁移到 FieldViewhelper

大多数情况下,所有字段 war 都很好,但带有 CropVariants 的内联 Fal 元素有点棘手。我不知道如何在配置选项中正确实现它。

我的字段目前看起来像这样:

{f:variable(name: '_allowedFileExtensions', value: '{allowedFileExtensions}')}
{f:variable(name: '_disallowedFileExtensions', value: '{disallowedFileExtensions}')}
<f:variable name="config" value="{
    type: 'inline',
    foreign_table: 'sys_file_reference',
    foreign_field: 'uid_foreign',
    foreign_sortby: 'sorting_foreign',
    foreign_table_field: 'tablenames',
    foreign_match_fields: {
        fieldname: name
    },
    foreign_label: 'uid_local',
    foreign_selector: 'uid_local',
    maxitems: maxitems,
    minitems: minitems,
    multiple: multiple,
    overrideChildTca: {
        columns: {
            uid_local: {
                config: {
                    appearance: {
                        elementBrowserType: 'file',
                        elementBrowserAllowed: _allowedFileExtensions
                    }
                }
            }
        },
        types: {
            0: {
                showitem: '--palette--;;imageoverlayPalette, --palette--;;filePalette'
            },
            1: {
                showitem: '--palette--;;imageoverlayPalette, --palette--;;filePalette'
            },
            2: {
                showitem: '--palette--;;imageoverlayPalette, --palette--;;filePalette'
            },
            3: {
                showitem: '--palette--;;audioOverlayPalette, --palette--;;filePalette'
            },
            4: {
                showitem: '--palette--;;videoOverlayPalette, --palette--;;filePalette'
            },
            5: {
                showitem: '--palette--;;imageoverlayPalette, --palette--;;filePalette'
            }
        }
    },
    filter: {
        0: {
            userFunc: 'TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter->filterInlineChildren',
            parameters: {
                allowedFileExtensions: _allowedFileExtensions,
                disallowedFileExtensions: _disallowedFileExtensions
            }
        }
    },
    appearance: {
        useSortable: 1,
        headerThumbnail: {
            field: 'uid_local',
            width: '45',
            height: '45c'
        },
        showPossibleLocalizationRecords: 0,
        showRemovedLocalizationRecords: 0,
        showSynchronizationLink: 0,
        showAllLocalizationLink: 0,
        enabledControls: {
            info: 1,
            new: 0,
            dragdrop: 1,
            sort: 0,
            hide: 1,
            delete: 1,
            localize: 1
        }
    }
}" />
<flux:field type="inline" name="{name}" label="{label}" config="{config}" exclude="0"/>

理论上我可以做这样的事情;这就是我在下面的 TCA 区域中做的方式overrideChildTca:

['columns']['crop']['config'] =>
'cropVariants' => [
  'heroimage' => [
     'title' => 'Hero Image',
     'allowedAspectRatios' => [
       '1504x846' => [
          'title' => '1504:846',
          'value' => 1504 / 846
        ],
     ],
  ],
],

我无法让它工作?有人有任何想法或示例如何正确配置吗?谢谢!

至少对于 <flux.field.inline.fal> 和 TYPO3 9.5,您可以通过 XML 属性简单地设置 cropVariants

<flux:field.inline.fal name="myField"
                       showThumbs="true"
                       cropVariants="{
                           default: {
                             title: 'Default',
                             allowedAspectRatios: {
                               default: {
                                 title: '1:1',
                                 value: '1'
                               }
                             }
                           }
                         }"/>

我找到了为这个例子添加裁剪变体的正确写法。如果你将这部分添加到 overrideChildTca -> columns -> crop -> config 那么它应该可以工作:)

    overrideChildTca: {
        columns: {
            crop: {
                config: {
                    type: 'imageManipulation',
                    cropVariants: {
                        tablet: {
                            title: 'Tablet',
                            allowedAspectRatios: {
                                NaN: {
                                    title: 'Free',
                                    value: 0.0
                                },
                                '21-9': {
                                    title: '21:9',
                                    value: 2.3333333
                                }
                            }
                        }
                    }
                }
            }
        },