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
Typo3 类型3 7 Extbase操作FlexForm_Typo3_Extbase_Typo3 7.6.x - Fatal编程技术网

Typo3 类型3 7 Extbase操作FlexForm

Typo3 类型3 7 Extbase操作FlexForm,typo3,extbase,typo3-7.6.x,Typo3,Extbase,Typo3 7.6.x,我使用Typo3 7.6.10 Extbase Builder。 我创建了一个扩展和一个带有一个控制器的模型。 在我的控制器中,我有两个动作列表()搜索栏() 现在,我想在后端选择当我添加插件的行动开始!我做不到这个选择。 我听说了FlexForm选项和可切换控制器操作 但我没办法做到这一点。文件不好 例如:t3lib\u extMgm不推荐使用 是否有一个有效的示例可以执行此操作?创建一个.xml文件。我不知道有什么约定,但最好将文件命名为与插件相同的名称,因为扩展插件的每种插件类型都需要单独

我使用Typo3 7.6.10 Extbase Builder。 我创建了一个扩展和一个带有一个控制器的模型。 在我的控制器中,我有两个动作<代码>列表()
搜索栏()

现在,我想在后端选择当我添加插件的行动开始!我做不到这个选择。 我听说了FlexForm选项和可切换控制器操作

但我没办法做到这一点。文件不好

例如:
t3lib\u extMgm
不推荐使用


是否有一个有效的示例可以执行此操作?

创建一个.xml文件。我不知道有什么约定,但最好将文件命名为与插件相同的名称,因为扩展插件的每种插件类型都需要单独的文件

typo3conf/ext/extensionkey/Configuration/FlexForms/Pluginname.xml
xml文件需要至少包含一个TCEform结构,其中键switchableControllerActions作为选择类型选项,如下所示

<?xml version="1.0" encoding="UTF-8"?>
<T3DataStructure>
    <sheets>
        <general>
            <ROOT>
                <TCEforms>
                    <sheetTitle>Display type</sheetTitle>
                </TCEforms>
                <type>array</type>
                <el>
                    <switchableControllerActions>
                        <TCEforms>
                            <label>Display</label>
                            <config>
                                <type>select</type>
                                <items type="array">
                                    <numIndex index="1" type="array">
                                        <numIndex index="0">List</numIndex>
                                        <numIndex index="1">Controller->list</numIndex>
                                    </numIndex>
                                    <numIndex index="2" type="array">
                                        <numIndex index="0">Search bar</numIndex>
                                        <numIndex index="1">Controller->searchbar</numIndex>
                                    </numIndex>
                                </items>
                            </config>
                        </TCEforms>
                    </switchableControllerActions>
                </el>
            </ROOT>
        </general>
    </sheets>
</T3DataStructure>
在上面的示例中,相应地替换“extension_plugin”和“extensionkey”

// Register FlexForm Configuration
 $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['extension_plugin'] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(
    'extension_plugin', 
    'FILE:EXT:extensionkey/Configuration/FlexForms/Pluginname.xml'
);
最后,刷新系统缓存,就可以开始了。配置选项应该出现在插件设置中。然后,定义的switchableControllerActions值应替换插件实例的标准操作

但是,还有一些事情需要指出:注意,您定义的操作将替换允许的cacheableControllerAction组合。因此,对于ExtSample,如果您的扩展具有此插件实例的另一个操作
show()
,则需要像这样附加该操作:

<numIndex index="1" type="array">
    <numIndex index="0">List</numIndex>
    <numIndex index="1">Controller->list;Controller->show</numIndex>
</numIndex>

列表
控制器->列表;控制器->显示

谢谢。那么$TCA['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature]='pi_flexform'呢@psiess P.S.你好,彼得!