【发布时间】:2017-11-29 13:41:15
【问题描述】:
我可以像这样覆盖 TCA 中图像字段的 cropVaraints:
'columnsOverrides' => [
'image' => [
'label' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:general.field.image',
'config' => [
'overrideChildTca' => [
'columns' => [
'crop' => [
'config' => [
'cropVariants' => [
'default' => [
'title' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:wizard.banner.title',
'allowedAspectRatios' => [
'2:1' => [
'title' => 'LLL:EXT:myext/Resources/Private/Language/locallang_be.xlf:field.banner.image-crop.ratio',
'value' => 2 / 1
],
],
],
],
],
],
],
],
],
],
],
我尝试将其调整为 flexform - 但没有任何成功。所以我需要的是这样的东西(但工作:-))
<foreign_selector_fieldTcaOverride type="array">
<config>
<appearance>
<elementBrowserType>file</elementBrowserType>
<elementBrowserAllowed>jpg,png</elementBrowserAllowed>
</appearance>
<overrideChildTca>
<columns>
<crop>
<config>
<cropVariants>
<default>
<title>Blubber</title>
<allowedAspectRatios>
<test>
<title>2:1</title>
<value>2 / 1</value>
</test>
</allowedAspectRatios>
</default>
</cropVariants>
</config>
</crop>
</columns>
</overrideChildTca>
</config>
</foreign_selector_fieldTcaOverride>
以前有人这样做过吗?
如果不可能,也许我可以绕过 flexform?我目前有一个带有 Image 字段的网格元素。
[更新] 正如@fnagel 指出的那样,应该可以覆盖默认值,所以我尝试将以下内容放入我的 Overrides/sys_file_reference.php - 但它没有效果 - 我什至在 TCA-Inspector 中找不到该默认定义......
$GLOBALS['TCA']['sys_file_reference']['columns']['crop']['config']['cropVariants']['default'] = [
'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:wizard.gallery.title',
'allowedAspectRatios' => [
'NaN' => [
'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:field.gallery.image-crop.ratio',
'value' => 0.0
],
],
];
写 ot as 也没有效果...
\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule(
$GLOBALS['TCA']['sys_file_reference'],
[
'columns' =>[
'crop' => [
'config' => [
'cropVariants' => [
'default'=> [
'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:wizard.gallery.title',
'allowedAspectRatios' => [
'NaN' => [
'title' => 'LLL:EXT:al_template/Resources/Private/Language/locallang_be.xlf:field.gallery.image-crop.ratio',
'value' => 0.0
],
],
],
],
],
],
],
]
);
有人成功设置了吗?
【问题讨论】:
-
这不是答案,但我认为最好的方法是避免使用 flexform 中的图像字段。不用 flexform 也很容易做到这一点——所以这将是我未来选择的策略。