Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在TYPO3插件中创建新内容cType时使用FlexForm_Php_Typo3_Flexform - Fatal编程技术网

Php 在TYPO3插件中创建新内容cType时使用FlexForm

Php 在TYPO3插件中创建新内容cType时使用FlexForm,php,typo3,flexform,Php,Typo3,Flexform,我正在向TYPO3添加新的内容类型,我想使用FlexForms定义每个内容类型选项表单 我举了一个例子: 并将其修改为使用此示例中的FlexForms: 但是我相信我不太理解Configuration/TCA/overrides/tt_contant.php中的设置: // Adds content new content elements \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin( [ '

我正在向TYPO3添加新的内容类型,我想使用FlexForms定义每个内容类型选项表单

我举了一个例子:

并将其修改为使用此示例中的FlexForms:

但是我相信我不太理解
Configuration/TCA/overrides/tt_contant.php
中的设置:
// Adds content new content elements
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(
    [
        'LLL:EXT:lu_content/Resources/Private/Language/locallang.xlf:contacts.title',
        'lu_content__contacts',
        \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('lu_content').'Resources/Public/Icons/Contacts.svg',
    ],
    'CType',
    'lu_content'
);

$GLOBALS['TCA']['tt_content']['types']['lu_content__contacts']['showitem']                       = 'CType;;;1-1-1,pi_flexform;;;1-1-1';
$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']['ds'][',lu_content__contacts'] = 'FILE:EXT:lu_content/Configuration/FlexForms/Contacts.xml';
表单可以工作,但看起来如下所示:

如何使表单不属于插件选项?

如何制作要在列表视图中使用的标题/标题?当前我在内容列表中保存后获得[notitle]

先谢谢你


PS:我目前正在开发TYPO3 v7,但支持v8。

选项卡的文本以及任何选项卡和字段的排列都是为中的常规插件定义的

$GLOBALS['TCA']['tt_content']['types']['list']
如果定义了自己的CType,则很可能希望定义自己的字段、选项板和类型,隐藏标准字段,或者替换默认标签。 tt_内容的整个配置相当复杂,因为它用于所有不同的内容元素,可以在下面的后端
System->configuration->GLOBALS[TCA]
中看到:

最简单的选择是替换
$GLOBALS['TCA']['tt_content']['types']['list']

之前/默认值:

--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,--palette--;;general,--palette--;;headers,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.plugin,list_type;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:list_type_formlabel,pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.list_formlabel,recursive,--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,--div--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_category.tabs.category,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
在/location之后填充自己的标签:(查找
#########
):

更困难的方法是在
$GLOBALS['TCA']['tt_content']['types']
中定义自己的类型

对于您的案例,以下章节特别有趣:

但是,如果您想更改标签或单个字段的其他配置,您必须参考关于的章节/配置。
在该区域中,您仍然可以定义一些常规选项,如排序字段或复制整个元素时的行为,请查看该章以了解所有选项。此外,所需和默认的标签和值字段也配置为

$GLOBALS['TCA']['tt_content']['ctrl']['label']
也可以将两个或多个字段合并为默认显示:

$GLOBALS['TCA']['tt_content']['ctrl']['label'] = 'header';
$GLOBALS['TCA']['tt_content']['ctrl']['label_alt'] = 'subheader';
您可能仍然希望添加该选项

$GLOBALS['TCA']['tt_content']['ctrl']['label_alt_force'] = 1;
为插件配置表单可能需要相当长的时间,甚至需要了解所有选项,但一般来说,有很多选项与许多需求相关。甚至可以定义用户函数来处理和显示表单中现有选项未包含的自己的选项

$GLOBALS['TCA']['tt_content']['ctrl']['label_alt_force'] = 1;