0

私はいくつかの Magnolia テンプレートを作成してい@cms.newBarますが、使用可能な段落のリストとしてノードを作成し、何らかの方法でノードを使用する方法を見つけた人がいるかどうかを知りたいです。構文は次のとおりです。

 [@cms.newBar newLabel="Add Content" paragraph="template1, template2" /]

代わりにノードを使用して、作成時に戻って新しいテンプレートを追加する必要がないようにしたいと考えています。

私はここでドキュメントを見て、何も指定されていないことを知っていますが、誰かが方法を見つけたかどうかを知りたいですか?

4

1 に答える 1

3

いくつかのことを実行できますが、すべて同じになります。

  • テンプレート定義で、「template1, template2」を含む文字列プロパティを構成します。Freemarker をテンプレート言語として使用していると仮定して、それを${def.thatProperty}参照します (def はテンプレート定義を参照します)。

  • モデル クラスにその値を返すようにします${model.whatsCooking}:String getWhatsCooking()

  • STKは (1) と同様Listのことを行います - そのテンプレート定義には「利用可能な」段落が含まれており、そのテンプレートは何らかのユーティリティ メソッドを使用してそれをカンマ区切りのリストに変換し、新しいバーで使用するので、${stk.toStringList(def.main.paragraphs)}(I can'正確な名前とセマンティクスを思い出す必要はありませんが、要点は理解できます)。

おそらく、そのためにSTKを検討することを検討する必要があります。

ドキュメントに関しては、この場合、javadoc/tlddoc よりもおそらくテンプレート ガイドやその他のドキュメントの方が役立つでしょう。

HTH、

于 2012-05-27T16:38:10.880 に答える