简化TYPO3中内容元素/TCA的创建
我正在寻找一种方法来简化TYPO3中内容元素的创建 我遵循官方文件: 现在,我们有了这种令人畏惧的美:简化TYPO3中内容元素/TCA的创建,typo3,Typo3,我正在寻找一种方法来简化TYPO3中内容元素的创建 我遵循官方文件: 现在,我们有了这种令人畏惧的美: // Configure the default backend fields for the content element $GLOBALS['TCA']['tt_content']['types']['yourextensionkey_newcontentelement'] = [ 'showitem' => ' --div--;LLL:EXT:core/R
// Configure the default backend fields for the content element
$GLOBALS['TCA']['tt_content']['types']['yourextensionkey_newcontentelement'] = [
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;general,
--palette--;;headers,
bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;;frames,
--palette--;;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
categories,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'config' => [
'enableRichtext' => true,
'richtextConfiguration' => 'default',
],
],
],
];
在我看来,似乎所有需要替换的都是“yourextensionkey\uNewContentElement”,其余的都来自核心。除非你知道自己在做什么,并且想用不同的方式来做
我的问题是:
- 这到底是干什么的?(我知道,它为编辑CE的形式设置了一些TCA。)
- 如果对于标准情况也是如此,我们是否可以从核心获取整个阵列,例如,通过为此提供一个函数?这是一个好办法吗
- 你有其他的想法来简化这个吗
- 是否有方法可用于编写此人类可读的文件并将其转换或使用autoexpand(例如,通过PhpStorm插件)进行转换
我知道有一项倡议致力于改善长期处理行政长官的方式。我现在寻找的是我们可以在短期内简化CE创建的事情。我也知道有像“mask”或“dce”这样的扩展,但我们没有在官方文档中宣传它们,我们宣传:
免责声明:我不是在TYPO3中创建内容元素的专家。大多数时候,我用插件或其他功能编写扩展。这可能是个愚蠢的问题/建议。请告诉我。我理解您重复代码和复制/粘贴工作的“问题”,尽管它允许很大的灵活性 关于你的问题: 这到底是干什么的?(我知道,它为编辑CE的形式设置了一些TCA。) TYPO3内容元素组织在所谓的调色板中。选项板可以包含多个属性 例如,调色板“标题”具有:
- 标题
- 标题(u)布局
- 收割台位置
- 日期
- 标题链接
- --div--;选项卡的标签-->使用给定标签启动新选项卡
- --调色板--;;hidden-->加载没有特定标签的新调色板
- --调色板--;你的标签;hidden-->加载带有特定标签的新调色板
$GLOBALS['TCA']['tt_content']['types']['alert'] = array(
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;general,
--palette--;LLL:EXT:your_ext/Resources/Private/Language/backend.locallang.xlf:tt_content.alert.palettes.general.title;alert,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;;frames,
--palette--;;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'config' => [
'enableRichtext' => true
]
],
]
);
在本例中,我直接在核心调色板“general”之后加载自定义调色板。这也可以通过助手方法完成。我不喜欢:-)
你有其他的想法来简化这个吗
如前所述,使用helper方法或其他字符串组合。在我看来,这将导致灵活性和可读性较差
我不喜欢代码重复,但在这种情况下,我用自己的、未合并/未合并的字符串定义每个新的内容元素…我理解您重复代码和复制/粘贴工作的“问题”,尽管它允许很大的灵活性
关于你的问题:
这到底是干什么的?(我知道,它为编辑CE的形式设置了一些TCA。)
TYPO3内容元素组织在所谓的调色板中。选项板可以包含多个属性
例如,调色板“标题”具有:
- 标题
- 标题(u)布局
- 收割台位置
- 日期
- 标题链接
- --div--;选项卡的标签-->使用给定标签启动新选项卡
- --调色板--;;hidden-->加载没有特定标签的新调色板
- --调色板--;你的标签;hidden-->加载带有特定标签的新调色板
$GLOBALS['TCA']['tt_content']['types']['alert'] = array(
'showitem' => '
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
--palette--;;general,
--palette--;LLL:EXT:your_ext/Resources/Private/Language/backend.locallang.xlf:tt_content.alert.palettes.general.title;alert,
--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
--palette--;;frames,
--palette--;;appearanceLinks,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
--palette--;;language,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
--palette--;;hidden,
--palette--;;access,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
rowDescription,
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
',
'columnsOverrides' => [
'bodytext' => [
'config' => [
'enableRichtext' => true
]
],
]
);
在本例中,我直接在核心调色板“general”之后加载自定义调色板。这也可以通过助手方法完成。我不喜欢:-)
你有其他的想法来简化这个吗
如前所述,使用助手方法或其他