【问题标题】:Call specific extbase action for plugin为插件调用特定的 extbase 操作
【发布时间】:2016-06-10 07:58:52
【问题描述】:

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

所以我的ext_localconf.php 看起来有点像这样:

Tx_Extbase_Utility_Extension::configurePlugin($_EXTKEY, 'pi1', array(
    'Api' => 'latest,full'
),
array(
    'Api' => 'latest,full'
));

动作的内容几乎相同,latest-Action 只从 API 获取 3 个事件,full-Action 从 API 获取所有事件。此外,它们渲染事件的方式也略有不同,这意味着它们使用不同的模板。

现在在Page A的 TYPO3-Backend 中,我正在添加一个类型为 plugin 的新内容。我选择我的插件保存内容。在前端输出插件的latest-Action产生的结果。

不过在Page B上,我也想用同样的插件,但是想输出full-Action的结果。

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

关于 TYPO3 的文档真的很糟糕,而且缺乏很多信息,所以我在这里寻求帮助。

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

【问题讨论】:

    标签: php fluid typo3-6.2.x


    【解决方案1】:

    您必须为插件创建一个 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>
    

    如果您没有用于扩展的 flexform,请在 Configuration/Flexform 文件夹中创建一个。检查此链接。 https://wiki.typo3.org/Extension_Development,_using_Flexforms

    【讨论】:

    • 谢谢。我还没有flexform。我会查看您的链接并回来提供一些反馈。
    • 很简单,只要按照我在帖子中添加的链接..问我是否有问题:)
    • 首先添加我并没有真正阅读您的代码示例。刚刚出现了“flexform”这个词,我开始研究。我构建了一个选择字段,然后没有管理它以将所选值作为操作调用。然后我重新访问了这个页面,发现你使用了swticthableControllerActions-元素。这成功了:)
    猜你喜欢
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多