如何为编辑器抑制CE中的FAL字段



我开发了一个使用图像的内容元素。因为它将图像输出为内联样式元素:<div style="/fileadmin/_processed_/2/a/csm_article-image-1.4_a50d0b1375.jpg">[..]</div>,所以我希望为编辑器的CE抑制FAL字段alttitledescription

示例:屏幕截图

现在我使用以下类型脚本:

TCEFORM {
sys_file_reference {
alternative.disabled = 1
description.disabled = 1
title.disabled = 1
link.disabled = 1
}
}

但这个解决方案迫使所有CE隐藏文件。元数据。

TCA配置是什么样子的?

编辑:来自@rudy gnodde的解决方案完美运行:

$GLOBALS['TCA']['tt_content']['types']['ce_image']['columnsOverrides']['image']['config']['overrideChildTca']['types'][0]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['types']['ce_image']['columnsOverrides']['image']['config']['overrideChildTca']['types'][1]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['types']['ce_image']['columnsOverrides']['image']['config']['overrideChildTca']['types'][2]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['types']['ce_image']['columnsOverrides']['image']['config']['overrideChildTca']['types'][3]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['types']['ce_image']['columnsOverrides']['image']['config']['overrideChildTca']['types'][4]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['types']['ce_image']['columnsOverrides']['image']['config']['overrideChildTca']['types'][5]['showitem'] = 'crop,--palette--;;filePalette';

如果您使用现有的image字段,您可以使用覆盖它应该显示的字段

$GLOBALS['TCA']['tt_content']['columns']['image']['config']['overrideChildTca']['types'][0]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['columns']['image']['config']['overrideChildTca']['types'][1]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['columns']['image']['config']['overrideChildTca']['types'][2]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['columns']['image']['config']['overrideChildTca']['types'][3]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['columns']['image']['config']['overrideChildTca']['types'][4]['showitem'] = 'crop,--palette--;;filePalette';
$GLOBALS['TCA']['tt_content']['columns']['image']['config']['overrideChildTca']['types'][5]['showitem'] = 'crop,--palette--;;filePalette';

如果是自定义字段,则应将overrideChildTca中的部件添加到该字段TCA配置的配置中。

这将只显示Image manipulation字段。

为了修改现有答案,我添加了一些解释、文档链接和Flexform的另一个示例


内联字段类型是(简化的(1:n关系,它将子元素(例如文件或sys_file_reference表元素(附加到父元素(例如tt_content(。

子元素的TCA可以用overrideChildTca重写。类型决定将为子表类型显示什么。

我有一个稍微不同的例子,其中flexform元素被定义为内联,并具有foreign_table=sys_file_reference。

但是,原则上是一样的。

因此,我在现有的TCA中查找系统文件引用(例如BE中的配置模块(,并看到以下内容:

sys_file_reference =>
types =>
0 =>
showitem = --palette--;;basicoverlayPalette, --palette--;;filePalette
....

basicfoverlayPalette应该被删除,我们可以看到它在调色板中包含什么:

palettes => 
basicoverlayPalette =>
label = ...ce.basicoverlayPalette
showitem = title,description

因此,对于子TCA中的所有类型,我们希望从showitem中删除调色板basicoverlayPalette。

对于Flexform,这可能看起来像这样:

<overrideChildTca>
<!-- suppress displaying title and description here -->
<types type="array">
<numIndex index="0" type="array">
<showitem>--palette--;;filePalette</showitem>
</numIndex>
<numIndex index="1" type="array">
<showitem>--palette--;;filePalette</showitem>
</numIndex>
<numIndex index="2" type="array">
<showitem>--palette--;;filePalette</showitem>
</numIndex>
<numIndex index="3" type="array">
<showitem>--palette--;;filePalette</showitem>
</numIndex>
<numIndex index="4" type="array">
<showitem>--palette--;;filePalette</showitem>
</numIndex>
<numIndex index="5" type="array">
<showitem>--palette--;;filePalette</showitem>
</numIndex>
</types>
</overrideChildTca>

您应该使用字段"assets"而不是"image"字段,assets字段将为您提供所有数据,如"title,link,alt etc">

相关内容

  • 没有找到相关文章

最新更新