Typo3 10.4中如何通过TypoScript将felogin渲染为模板指定位置的内容元素
问题原因
- TYPO3 v10 版本已经完全移除了旧版基于pi_base架构的felogin插件
tx_felogin_pi1,你在v8版本使用的plugin.tx_felogin_pi1路径在v10中已经不存在,因此将lib.loginBox引用到一个不存在的TypoScript对象路径,自然会抛出No Content Object definition found的错误。 - 你尝试把
<改为=的操作不符合TypoScript语法规则:<是TypoScript中的对象复制引用操作符,作用是把右侧已定义的完整内容对象结构赋值给左侧变量;而=是普通字符串赋值操作符,修改后相当于给lib.loginBox赋值了一串无意义的文本字符串,完全不是可渲染的内容对象,所以内容无法加载。
解决方法
- 首先确认你的站点模板已经引入了
Frontend Login (felogin)的静态TypoScript模板,否则felogin相关的配置不会生效。 - 将你的TypoScript代码替换为v10兼容的写法:
lib.loginBox = USER lib.loginBox { userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run extensionName = Felogin pluginName = Login vendorName = TYPO3\CMS settings < plugin.tx_felogin_login.settings settings.storagePid = 28 }
- 你原有的Fluid模板中的调用代码不需要修改,保持如下写法即可:
<f:cObject typoscriptObjectPath="lib.loginBox" />
内容的提问来源于stack exchange,提问作者dr.Ahoss
相关产品推荐
相关产品推荐

