typo3插件:如何传递参数?

时间:2016-09-07 12:49:10

标签: plugins parameters typo3

我在typo3中有一个插件,我在那里进行数据库查询,例如限制为5。 我现在正在寻找一个解决方案,在typo3的后端选择这个限制(选择框,单选按钮,......)并将其作为参数传递 - 你有什么想法吗?

由于 沃尔克

1 个答案:

答案 0 :(得分:6)

我猜您正在使用基于extbase的扩展程序!配置称为Flexforms,可以非常轻松地实现

举个例子,看一下我的extensions

<强>配置/ TCA /重写/ tt_content.php 放置这样的代码

$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['mailchimp_registration'] = 'recursive,select_key,pages';
$GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['mailchimp_registration'] = 'pi_flexform';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue('mailchimp_registration',
    'FILE:EXT:mailchimp/Configuration/FlexForms/flexform_mailchimp.xml');

当然,您需要根据自己的需要采用它

<强> flexform_mailchimp.xml

添加包含配置的flexform文件:

<T3DataStructure>
    <meta>
        <langDisable>1</langDisable>
    </meta>
    <sheets>
        <sDEF>
            <ROOT>
                <TCEforms>
                    <sheetTitle>LLL:EXT:mailchimp/Resources/Private/Language/locallang.xml:flexform.title</sheetTitle>
                </TCEforms>
                <type>array</type>
                <el>
                    <settings.fo>
                        <TCEforms>
                            <label>LLL:EXT:mailchimp/Resources/Private/Language/locallang.xml:flexform.useAjax</label>
                            <config>
                                <type>input</type>
                                <default>0</default>
                            </config>
                        </TCEforms>
                    </settings.fo>
                </el>
            </ROOT>
        </sDEF>
    </sheets>
</T3DataStructure>

当设置名为settings.fo时,您可以使用$this->settings['fo']获取控制器中的值。