2

ページ テンプレートの DWT でパッケージ変数にアクセスする際に問題に直面しています。

次のように、4 つの TBB を持つ複合ページ テンプレートがあります。

1)定数 TBB - この TBB は、コンポーネント (埋め込み多値コンポーネント) のすべての値をキーと値のペアとして読み取り、それらをパッケージにプッシュします。例:

Item item = this._package.CreateStringItem(contentType, "test");
this._package.PushItem("key", item);

2)ページ テンプレートの C# DLL - これには、ページ テンプレートのロジックが含まれています。

3)ページ テンプレートの DWT - すべてのパッケージ変数がここに出力されます。

4)デフォルトの終了アクション

私が直面している問題は次のとおりです。

私の DWT では、コンポーネント テンプレートのメタデータを定数 TBB で設定されたパッケージ変数と比較したいと考えています。

私が使用している構文は次のとおりです。

<!-- TemplateBeginIf cond="ComponentTemplate.Metadata.section_name = key" -->

ここで、key は定数 TBB に設定されたパッケージ名で、値は「test」です。

しかし、どういうわけか、このパッケージ変数「キー」は値0を与えており、テストしていません。

誰かが正確にどこが間違っているのか教えてもらえますか?

4

2 に答える 2

6

パッケージに追加する項目のタイプを指定するには、次のように置き換えます。

Item item = this._package.CreateStringItem(contentType, "test");

Item item = this._package.CreateStringItem(contentType.Text, "test");

を使用して、変数が DWT に適切に渡されていることも確認する必要があります。

@@test@@

条件外。これにより、比較対象の値が表示されます。

于 2015-08-27T17:28:21.737 に答える
2

以下をご確認ください。

  1. 「キー」という名前のパッケージに複数の変数があるかどうかを確認します。
  2. パッケージの正しい場所で検証しているかどうかを確認してください。

パッケージイメージ

于 2012-10-10T07:56:04.137 に答える