gpt4 book ai didi

TYPO3-6.2 Extbase 自定义内容类型 -> 无效值

转载 作者:行者123 更新时间:2023-12-02 03:33:35 25 4
gpt4 key购买 nike

我为自定义内容元素制作了一个 extbase 扩展。因为这是我的第一个扩展,所以我从一个简单的“hello_world_ce”开始。这是我的文件:

ext_tables.php

<?php
$TCA['tt_content']['types']['hello_world_ce']['showitem'] = '--palette--;LLL:EXT:hello_world/Resources/Private/Language/locallang_mod.xlf:content_element.hello_world.general;general, --palette--;LLL:EXT:hello_world/Resources/Private/Language/locallang_mod.xlf:content_element.hello_world.header;header';

ext_localconf.php

<?php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:'.$_EXTKEY.'/Configuration/TypoScript/ModWizards.ts">');

ModWizards.ts

mod.wizards {
newContentElement {
wizardItems {
hello_world {
header = LLL:EXT:hello_world/Resources/Private/Language/locallang_mod.xlf:content_tab_header
elements {
hello_world_ce {
icon = gfx/c_wiz/regular_header.gif
title = LLL:EXT:hello_world/Resources/Private/Language/locallang_mod.xlf:content_element.hello_world
description = LLL:EXT:hello_world/Resources/Private/Language/locallang_mod.xlf:content_element.hello_world.description
tt_content_defValues {
CType = hello_world_ce
}
}
}
}
show = *
}
}
}

在 TYPO3 后端,我看到我的内容元素并可以将其添加到页面,但是内容类型的下拉菜单显示 INVALID VALUE ("hello_world_ce")

我错过了什么?

编辑:我找到了缺失的部分。我需要将我的内容类型添加到 CType 数组

ext_tables.php

$backupCTypeItems = $GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'];
$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'] = array(
array(
'LLL:EXT:'.$_EXTKEY.'/Resources/Private/Language/locallang_mod.xlf:content_tab_header',
'--div--'
),
array(
'LLL:EXT:'.$_EXTKEY.'/Resources/Private/Language/locallang_mod.xlf:content_element.hello_world',
'hello_world_ce',
'i/tt_content_header.gif'
)
);
foreach($backupCTypeItems as $key => $value){
$GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][] = $value;
}

最佳答案

问题已编辑,但我认为有更好的方法来实现解决方案。

只是为了弄清楚问题:

内容元素 hello_world_ce 未通过添加新内容元素添加到“类型”下拉列表中。

问题中的提示是正确的,它没有为 CType 字段定义。但是您可以使用核心函数来代替操作数组:

 // Adds the content element to the "Type" dropdown
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(
array(
'LLL:EXT:your_extension_key/Resources/Private/Language/locallang_mod.xlf:content_element.hello_world',
'hello_world_ce',
'i/tt_content_header.gif'
),
'CType',
'your_extension_key'
);

这是一个很好的例子,说明如何在版本TYPO3 7.6 中添加您自己的内容元素。 .

注意:此功能在 TYPO3 6.2 中也可用。

关于TYPO3-6.2 Extbase 自定义内容类型 -> 无效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25200759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com