3

これはこのXSLT questionに似ていますが、最終的には DWT 用です。

C# TBBを介してキーワードのキーを取得できます。

ItemFields fields = new ItemFields(component.Metadata, component.Schema);
KeywordField keywordField = fields["state"] as KeywordField;

String stateValue = package.EvaluateExpression("Component.Metadata.state");

package.PushItem("statekey", package.CreateStringItem(ContentType.Text, keywordField.Value.Key));

DWT ではkey、コンポーネントで選択したキーワードの が必要になることがあります。

これらをパッケージから追加して取得するのは正しいアプローチですか?

@@Component.Metadata.State@@値を取得します。DWT から直接キーを参照することは素晴らしいことですが、DWT がそれを公開していることを示唆するものは見たことがありません。

4

2 に答える 2

3

ジョンの答えの別の選択肢として。Willの「GetComponentTemplateUris」と同様のアプローチを取り、カテゴリのキーワードを繰り返し処理して、目的の出力値でパッケージに書き出すTBBを作成してはどうでしょうか。そうすれば、次のような「二重評価」を使用して、DWTから直接これらの値を使用できるようになります。

@@Keyword${Component.Metadata.state}Value@@
于 2012-09-20T12:02:24.603 に答える
3

これについては、あなたが提案するようにTBBルートをたどる必要があるか、それを公開するために独自のDWT関数を作成する必要があると思います。

DWT関数の作成例は、http://www.tridiondeveloper.com/get-and-set-variables-in-dwtsにあります

于 2012-09-20T09:48:39.300 に答える