如何在每个页面请求上调用控制器操作

时间:2019-05-16 12:37:48

标签: typo3 extbase

我有一个具有各种操作的插件,每当请求一个页面时,我都希望调用其中一个操作。我尝试了this的方式,但是当我在同一页面上放置了插件时(让我们说这是一个联系表单),那么该插件不知道其他操作,因此每次{ {1}}。

也许还有另一种方法吗?也许以某种方式注册Controller的动作?

3 个答案:

答案 0 :(得分:2)

好的,我已经收到了提示,那就是解决方案:

20 = USER_INT
20 {
    userFunc = Vendor\Extension\UserFunc\Class->function
}

答案 1 :(得分:1)

可能您可以创建扩展的lib对象,看看下面的用户功能:

lib.myData = USER
lib.myData {
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
  extensionName = Ext
  pluginName = pluginName
  vendorName = MyVendor

  switchableControllerActions {
        MyController{
          1 = myAct
        }
  }

  settings < plugin.tx_ext.settings
  settings {
        // Your settings
  }
}

现在,您可以将lib对象调用到Fluid模板中(根据需要在每个页面上使用),可以将此对象添加到主页布局中。

Here Georg Ringer创建了相同的代码以使用Typoscript呈现新闻列表。

希望这对您有帮助!

答案 2 :(得分:0)

您可以使用FlexForms设置预设的Controller-> Action。因此,即使您在一个页面上使用了两次插件,也可以通过FlexForm控制每个插件的Controller-> Action。

也许这对您有帮助: Multiple controllers in an extension