Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/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 为插件调用特定的extbase操作_Php_Fluid_Typo3 6.2.x - Fatal编程技术网

Php 为插件调用特定的extbase操作

Php 为插件调用特定的extbase操作,php,fluid,typo3-6.2.x,Php,Fluid,Typo3 6.2.x,我正在开发一个TYPO3 Extbase扩展,它从XML-API获取事件。 扩展由1个控制器和2个操作组成 因此,我的ext_localconf.php看起来有点像这样: Tx_Extbase_Utility_Extension::configurePlugin($_EXTKEY, 'pi1', array( 'Api' => 'latest,full' ), array( 'Api' => 'latest,full' )); 操作的内容几乎相同,最新的-操作仅从A

我正在开发一个TYPO3 Extbase扩展,它从XML-API获取事件。 扩展由1个控制器和2个操作组成

因此,我的
ext_localconf.php
看起来有点像这样:

Tx_Extbase_Utility_Extension::configurePlugin($_EXTKEY, 'pi1', array(
    'Api' => 'latest,full'
),
array(
    'Api' => 'latest,full'
));
操作的内容几乎相同,
最新的
-操作仅从API获取3个事件,
完整的
-操作从API获取所有事件。此外,它们呈现事件的方式也有点不同,这意味着它们使用不同的模板

现在在
页面A
的TYPO3后端,我正在添加一个类型为
插件的新内容。我选择我的插件保存内容。在前端,输出由插件的
最新的
-操作生成的结果

然而,在
第B页
,我也想使用相同的插件,但想输出
完整
-操作的结果

我有点困惑。如何在后端的下拉列表中选择操作

关于TYPO3的文档非常糟糕,缺少很多信息,所以我在这里寻求帮助


我发现的所有示例只涉及一个操作。

您必须为插件创建flexform,或者如果您的插件现在有flexform,请添加以下内容

要能够在插件中选择操作和控制器,您需要在flexform中使用
switchableControllerActions

<switchableControllerActions>
    <TCEforms>
         <label>View</label>
         <onChange>reload</onChange>
         <config>
           <type>select</type>
           <items type="array">
               <numIndex index="1" type="array">
                 <numIndex index="0">Latest events</numIndex>
                 <numIndex index="1">Api->latest;</numIndex>
               </numIndex> 
               <numIndex index="1" type="array">
                 <numIndex index="0">All events</numIndex>
                 <numIndex index="1">Api->full;</numIndex>
               </numIndex>               
            </items>
         </config>
     </TCEforms>
</switchableControllerActions>

看法
重新加载
选择
最新事件
Api->最新版本;
所有事件
Api->full;

如果您没有用于扩展的flexform,请在Configuration/flexform文件夹中创建一个。检查此链接

多谢各位。我还没有flexform。我会查看你的链接,然后回来给你一些反馈。很简单,只需按照我在帖子中添加的链接进行操作。。如果您有问题,请问我:)首先添加我没有真正阅读您的代码示例。“flexform”一词突然出现,我开始研究。我构建了一个select字段,但没有将其作为操作调用所选值。然后我再次访问了这个页面,看到您使用了一个
swticthableControllerActions
-元素。这就成功了:)