首页 > 解决方案 > TYPO3 11 felogin 与打字稿

问题描述

TYPO3 11.5.2

  1. 我想在位置使用带有自定义模板的打字稿显示 felogin: <f:cObject typoscriptObjectPath="lib.loginBox" />
  2. 如果将 felogin 添加为页面内容元素,则应使用原始模板。

以下代码有效,但会更改所有 felogin 的视图:

plugin.tx_felogin_login {
  settings.pages = 15
  view {
      templateRootPaths {
        0 = fileadmin/template/current/felogin/Resources/Private/Templates/
        10 = {$plugin.tx_felogin_login.view.templateRootPath}
      }
  }
}
lib.loginBox = USER
lib.loginBox {
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
  extensionName = Felogin
  pluginName = Login
}

要为 1) 和 2) 应用不同的模板,我认为以下方法可以工作,但它没有:

lib.loginBox = USER
lib.loginBox {
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
  extensionName = Felogin
  pluginName = Login
  settings < plugin.tx_felogin_login.settings
  settings.pages = 15
  view < plugin.tx_felogin_login.view
  view {
      templateRootPaths {
        0 = fileadmin/template/current/felogin/Resources/Private/Templates/
        10 = {$plugin.tx_felogin_login.view.templateRootPath}
      }
  }
}

编辑:第二个版本根本不使用自定义模板,settings.pages= 15 不起作用=> 无法登录。使用第一个版本登录正在工作。

任何提示这种方法有什么问题?如何为 1) 和 2) 实现不同的模板?

编辑:现在对我有用的解决方案:

plugin.tx_felogin_login {
  settings.pages = 15
}
lib.loginBox = USER
lib.loginBox {
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
  extensionName = Felogin
  pluginName = Login
  view < plugin.tx_felogin_login.view
  view {
      templateRootPaths {
        10 = {$plugin.tx_felogin_login.view.templateRootPath}
        #20 = fileadmin/template/current/felogin/Resources/Private/Templates/
        #should be something like:
        20 = EXT:myfelogin/Resources/Private/Templates/
      }
  }
}

标签: typo3typoscript

解决方案


问题是模板的排序!

lib.loginBox = USER
lib.loginBox {
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run
  extensionName = Felogin
  pluginName = Login
  settings < plugin.tx_felogin_login.settings
  settings.pages = 15
  view < plugin.tx_felogin_login.view
  view {
      templateRootPaths {
        10 = {$plugin.tx_felogin_login.view.templateRootPath}
        20 = fileadmin/template/current/felogin/Resources/Private/Templates/
      }
  }
}

20高于时,将使用10中的模板。fileadmin


就像旁注一样:您应该始终创建一个包含所有这些文件的站点包扩展名,而不是将它们放入 fileadmin。


推荐阅读