将自定义元素添加到 TYPO3 默认隐藏?
Add custom elements to TYPO3 as hidden by default?
我有一个包含多个网站的安装。每个网站都有一个网站包,其中包含特定于该网站的自定义字段和内容元素。
但自定义字段和内容元素显示在所有网站上。
在 tt_content.php 中,我将自定义元素添加到类型下拉列表中。我怎样才能隐藏它,然后在 ts 配置中为它所用的页面树启用它?
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'Banner',
'my_extension_banner',
'EXT:core/Resources/Public/Icons/T3Icons/content/content-image.svg'
],
'textmedia',
'after'
);
同样,我在现有元素中添加了一些自定义字段。除非由创建它的页面的 ts 配置特别启用,否则如何隐藏此字段?
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
'tt_content',
'headers',
'--linebreak--,my_extension_myfield',
'after:subheader'
);
不知道我理解的对不对,你可以将Page TsConfig放在任意网页的根页面,然后相应的隐藏字段:
TCEFORM.pages {
subtitle.disabled = 1
}
经过反复试验,我发现我可以通过将其添加到我的 ext_localconf.php
:
来全局删除元素和字段
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
#Remove Custom Content Elements
TCEFORM.tt_content.CType.removeItems := addToList(my_extension_banner)
#Remove Custom Fields
TCEFORM.tt_content {
my_extension_myfield.disabled = 1
}
');
然后使用我的页面特定的 ts 配置文件再次添加它们 PageTSConfig.tsconfig
#Add Custom Content Elements
TCEFORM.tt_content.CType.removeItems := removeFromList(my_extension_banner)
#Add Custom Fields
TCEFORM.tt_content {
my_extension_myfield.disabled = 0
}
我有一个包含多个网站的安装。每个网站都有一个网站包,其中包含特定于该网站的自定义字段和内容元素。
但自定义字段和内容元素显示在所有网站上。
在 tt_content.php 中,我将自定义元素添加到类型下拉列表中。我怎样才能隐藏它,然后在 ts 配置中为它所用的页面树启用它?
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'Banner',
'my_extension_banner',
'EXT:core/Resources/Public/Icons/T3Icons/content/content-image.svg'
],
'textmedia',
'after'
);
同样,我在现有元素中添加了一些自定义字段。除非由创建它的页面的 ts 配置特别启用,否则如何隐藏此字段?
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
'tt_content',
'headers',
'--linebreak--,my_extension_myfield',
'after:subheader'
);
不知道我理解的对不对,你可以将Page TsConfig放在任意网页的根页面,然后相应的隐藏字段:
TCEFORM.pages {
subtitle.disabled = 1
}
经过反复试验,我发现我可以通过将其添加到我的 ext_localconf.php
:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('
#Remove Custom Content Elements
TCEFORM.tt_content.CType.removeItems := addToList(my_extension_banner)
#Remove Custom Fields
TCEFORM.tt_content {
my_extension_myfield.disabled = 1
}
');
然后使用我的页面特定的 ts 配置文件再次添加它们 PageTSConfig.tsconfig
#Add Custom Content Elements
TCEFORM.tt_content.CType.removeItems := removeFromList(my_extension_banner)
#Add Custom Fields
TCEFORM.tt_content {
my_extension_myfield.disabled = 0
}