我正在开发一个新的扩展,我的模型具有属性“类型”,它可以从 TCA 表单中获取不同的字符串。仅限字符串!我的模板应该加载的部分名称在我的模型的“类型”属性内。所以我的问题来了。从 TYPO3 4.7.x 开始,流体的 .html 文件名必须以大写字母开头。在 'type' 属性中,应该加载的部分名称总是小写的。为此,我编写了一个仅包含此方法的简单视图助手:
public function render($string) {
return ucfirst($string);
}
在我的模板中,我尝试使用此视图助手作为部分路径:
{namespace vh=Tx_MyExtension_ViewHelpers}
<f:for each="{obj.subObjects}" as="sub">
<f:render partial="OtherObject/{vh:String.UpperFirstCharacter(string:'{sub.type}')}" arguments="{sub:sub}" />
</f:for>
如果我尝试在字体端加载它,我的扩展程序中的任何内容都不会被渲染,并且任何地方都没有错误消息。问题取决于我的视图助手,因为即使我尝试只加载这个:
{vh:String.UpperFirstCharacter(string:'test')}
{vh:String.UpperFirstCharacter(string:'{sub.type}')}
什么都没有回来。如果我只输出 {sub.type} 它会显示我想要的字符串,但是是小写的。