Typo3 在插件中设置extbase控制器操作
我用扩展生成器在TYPO3 4.5站点中设置了一个extbase扩展,其中只包含控制器中的默认listAction 现在我想添加一个新操作,但它不起作用 我不需要(也就是说,无法工作)flexform来选择控制器操作 由于有一个“插件模式”字段,我想我可以在这里手动输入操作: 并在ext_localconf.php中扩展插件配置:Typo3 在插件中设置extbase控制器操作,typo3,extbase,typo3-4.5,Typo3,Extbase,Typo3 4.5,我用扩展生成器在TYPO3 4.5站点中设置了一个extbase扩展,其中只包含控制器中的默认listAction 现在我想添加一个新操作,但它不起作用 我不需要(也就是说,无法工作)flexform来选择控制器操作 由于有一个“插件模式”字段,我想我可以在这里手动输入操作: 并在ext_localconf.php中扩展插件配置: Tx_Extbase_Utility_Extension::configurePlugin( $_EXTKEY, 'Pluginname',
Tx_Extbase_Utility_Extension::configurePlugin(
$_EXTKEY,
'Pluginname',
array(
'Controllername' => 'list,listfeatured',
),
);
另外,在控制器中,我添加了一个新动作
/**
* action listfeatured
*
* @return void
*/
public function listfeaturedAction() {
// do something
}
但是,唉,根本不需要采取行动
我对“插件模式”字段的解释是否错误?
我错过什么了吗
或者:我也可以通过TS为“后端”插件设置操作吗?您需要正确使用FlexForm来设置可切换操作列表 另一个选项是创建另一个插件,默认操作为
listfected
如果您决定只使用单一插件,只需向我们展示/描述您在FlexForm中尝试了什么(可能是新问题)
编辑:正如您在问题中向我们展示的那样,您需要决定给定插件默认的控制器
和操作
,因此要添加使用现有控制器的新插件,只需将其添加到ext_localconf.php
Tx_Extbase_Utility_Extension::configurePlugin(
$_EXTKEY,
'MyFeaturedPlugin',
array(
'Controllername' => 'listfeatured',
),
);
如果您希望能够在be中使用它,您可能还需要在
ext_tables.php中registerPlugin
(如果ie.plugin仅与TS一起放置,则可以使用)。您可以使用:除了FlexForm之外,还有一种方法可以通过PHP
读取插件中的字段插件模式
现在,我正在开发一个插件,并希望区分modi。一些modus B应该从请求的一开始就设置,更好的是,它不应该通过HTTP发送,而是从数据模型读取
因此,我在“插件模式”字段中设置了文本“myModusB”,并在插件中检查:
exit (print_r($this, true));
然后我发现
[cObj] => TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer Object
...
[data] => Array
(
...
[select_key] => myModusB
...
所以在插件中通过编写
$modus = $this->cObj->data["select_key"];
我会得到文本并处理它
这是针对版本6.1.3进行的测试 谢谢!那么,插件模式字段的用途是什么?我可以通过php访问它吗?不知道:D以前没有看到过;)您使用哪个版本的Builder?它不是由其他开发人员手动添加的吗?哦!这就是为什么它是不可见的?!:-)只是一个快速跟进:第二个插件工作完美无瑕。我甚至不需要控制器动作,我可以用视图助手来完成。有没有办法跳过第二个控制器,但为该插件的视图分配一个不同的模板(配置上的约定似乎迫使该结构…)来拯救-再次感谢!我的第二个插件运行良好。最后一个问题有点理论性和混乱,没关系。关于plugin mode字段:可能在较新的TYPO3版本中不推荐使用。我现在发现:啊,有趣!除了干扰Tx\u Extbase\u Utility\u Extension::configurePlugin
,您认为这可以用来定义要运行的控制器吗?请告诉我:-)您所说的“控制器”是什么意思?在Typo3中,我看到了插件,T3核心将插件调用转发给我的插件代码、模板和其他组件。T3核心中有几个控制器处理URL吗?我的问题是关于TYPO3 6.x中的extbase,在一个扩展中可以有不同的控制器。这就是参数“Controllername”中提供的内容(参见原始示例)。我承认我不确定我说的是控制器还是“控制器动作”。可以说,它是MVC扩展的“do”部分