f:cObject
には、異なる種類の値をとることができるdata
属性があります。
通常、データ属性は配列をとるため、これらの値を使用して、typoscriptの.field
プロパティを使用してコンテンツオブジェクトをレンダリングできます。
例:あなたがそのようなTypoScriptしている場合は
lib.testFluid = COA
lib.testFluid {
wrap = <div>|</div>
10 = TEXT
10.field = title
10.wrap = <b>|</b>
20 = TEXT
20.field = content
}
、キーtitle
とcontent
を持つデータアレイが、期待されています。このようなコンテンツオブジェクトをレンダリングする可能性の流体で次のようになります。
<f:cObject typoscriptObjectPath="lib.testFluid" data="{title: 'Hello World', content: 'Foobar'}" />
をしかし、あなたは自分のコンテンツオブジェクトに一つの場所でいくつかの「コンテンツ」(例えば、文字列の内容を)持っており、出力にそれをしたい場合は、することができますそのまま渡し、TypoScriptの.current
プロパティを使用して "現在の値"を使用させます。
lib.testFluid = COA
lib.testFluid {
wrap = <div>|</div>
10 = TEXT
10.current = 1
10.wrap = <b>|</b>
}
そして流体中:コースデータの
<f:cObject typoscriptObjectPath="lib.testFluid" data="simple text content" />
または
<f:cObject typoscriptObjectPath="lib.testFluid">simple text content</f:cObject>
も通常の変数を取ります。あなたのユースケースに応じて、それらのケースの1つがあなたが望むものかもしれません。
編集:ただし、HMENUと一緒にデータを使用する場合は、もう少し複雑に思えます。入れ子になったTMENUインスタンス(または他のメニュー)は、HMENUによってそのメニュー項目の現在のページで上書きされているため、異なるデータ値を持ちます。たぶん巻き返しをするか、TMENU/GMENUなどで目的のコンテンツを挿入しないでください。その場合は、メニューを流体で完全に描画することをお勧めします。
編集2 - の例は
このような何かが仕事に行くされていません。
lib.testFluid = HMENU
lib.testFluid {
special = directory
special.value = 1
wrap = <ul>|</ul>
1 = TMENU
1 {
NO.stdWrap.cObject = COA
NO.stdWrap.cObject {
10 = TEXT
10.field = title
10.noTrimWrap = || |
20 = TEXT
20.current = 1
}
}
}
20.current = 1
流体なViewHelperによって供給されたデータから値を含まないであろう、「データ」理由のTMENUがHMENUコンテンツオブジェクトによって現在のページに変更されました。
ただし、HMENUの周囲に希望のコンテンツを挿入するために、HMENUの周りにCOAなどをラップすることは可能です。