私は新しい拡張機能に取り組んでおり、私のモデルには、TCA フォームから異なる文字列を取得できる属性 'type' があります。弦のみ!テンプレートがロードするパーシャルの名前は、モデルの「type」属性内にあります。だからここに私の問題があります。TYPO3 4.7.x 以降、fluid の .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} のみを出力すると、必要な文字列が小文字で表示されます。