为插件调用特定的 extbase 操作
Call specific extbase action for plugin
我正在开发一个 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只从[=35=中获取3个事件,full
-Action从[=中获取所有事件35=]。此外,他们呈现的事件确实有点不同,这意味着他们使用不同的模板。
现在在 Page A
的 TYPO3 后端中,我正在添加类型为 plugin
的新内容。我select 我的插件保存了内容。在前端,输出插件的 latest
-Action 产生的结果。
但是在 Page B
上,我也想使用相同的插件,但想输出 full
-Action 的结果。
我有点困惑。我怎样才能 select 在后端的下拉列表中执行操作?
关于 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>
如果您没有用于扩展的 flexform,请在 Configuration/Flexform 文件夹中创建一个。检查此 link。 https://wiki.typo3.org/Extension_Development,_using_Flexforms
我正在开发一个 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只从[=35=中获取3个事件,full
-Action从[=中获取所有事件35=]。此外,他们呈现的事件确实有点不同,这意味着他们使用不同的模板。
现在在 Page A
的 TYPO3 后端中,我正在添加类型为 plugin
的新内容。我select 我的插件保存了内容。在前端,输出插件的 latest
-Action 产生的结果。
但是在 Page B
上,我也想使用相同的插件,但想输出 full
-Action 的结果。
我有点困惑。我怎样才能 select 在后端的下拉列表中执行操作?
关于 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>
如果您没有用于扩展的 flexform,请在 Configuration/Flexform 文件夹中创建一个。检查此 link。 https://wiki.typo3.org/Extension_Development,_using_Flexforms