4

我使用扩展构建器构建了一个扩展,并为此添加了一个插件。我想在将插件添加到页面时添加插件选项,这将确定该页面的控制器操作。假设我有两个页面ListSearch我应该能够提供插件选项来选择MyExtController->list页面ListMyExtController->search页面Search

到目前为止,我这样做了:

在我的ext_tables.php

$pluginSignature = str_replace('_','',$_EXTKEY) . 'myext';
$TCA['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_myext.xml');

我的 FlexForm 在Configuration/FlexForms:

<T3DataStructure>
    <sheets>
        <sDEF>
            <ROOT>
                <TCEforms>
                    <sheetTitle>Function</sheetTitle>
                </TCEforms>
                <type>array</type>
                <el>
                    <switchableControllerActions>
                        <TCEforms>
                            <label>Select function</label>
                            <config>
                                <type>select</type>
                                <items>
                                    <numIndex index="0">
                                        <numIndex index="0">List</numIndex>
                                        <numIndex index="1">MyExtController->list</numIndex>
                                    </numIndex>
                                    <numIndex index="1">
                                        <numIndex index="0">Search</numIndex>
                                        <numIndex index="1">MyExtController->search</numIndex>
                                    </numIndex>
                                </items>
                            </config>
                        </TCEforms>
                    </switchableControllerActions>
                </el>
            </ROOT>
        </sDEF>
    </sheets>
</T3DataStructure>

不知何故,我想我错过了一些东西。这不起作用。我做对了吗?我没有看到任何插件选项。

4

1 回答 1

3

你错过了$pluginSignature它应该是的下划线:

$pluginSignature = str_replace('_','',$_EXTKEY) . '_myext'
//                                                 ^-here

还要记住,'_myext'应该是插件的小写名称(不是分机)(您注册为registerPlugin方法的第二个参数的字符串)

于 2013-08-13T07:45:37.183 回答