1

「素晴らしい」Mivaフォーラムは、この質問を登録して質問することを禁止しました。ここに何かがこれで私を助けることができるかどうかわかりません...

カテゴリページでは、ベストセラー、ニューリリースなどに基づいた列に製品を表示する必要があります。サブカテゴリで設定されたカテゴリがあります。製品はカテゴリに割り当てられ、場合によってはサブカテゴリに割り当てられます。

合唱

  • 合唱のベストセラー
  • 合唱の新しいリリース

ボーカル

  • ボーカルのベストセラー
  • ボーカルの新しいリリース

すべての親カテゴリの名前は1つの単語であり、サブカテゴリには2つの単語が追加されています。カテゴリページには、親カテゴリのすべての製品が表示されます。各列の内容をフィルタリングしたいだけです。サブカテゴリ名の一部に追加された2つの単語を式で比較しようとしました。そうすれば、どの親カテゴリに属していても、すべてに同じコードを使用できます。非常に基本的なもののようですが、機能していません。

動作しないコードの例:

<div class="row">
<h2>Best Sellers</h2>
<mvt:foreach iterator="product" array="products">
<mvt:if expr="'Best '$'Sellers' IN g.category:name">
product display stuff here
</mvt:if>
</mvt:foreach>
</div>

<div class="row">
<h2>New Releases</h2>
<mvt:foreach iterator="product" array="products">
<mvt:if expr="'New '$'Releases' IN g.category:name">
product display stuff here
</mvt:if>
</mvt:foreach>
</div>
4

2 に答える 2

0

まだ持っていない場合は、PCI Net Tool Belt を入手することをお勧めします。これは Ray Yates によって書かれ、非常によく文書化されています。これはMiva Merchant 言語拡張モジュールであり、SMT では (デフォルトでは) 提供されない Miva Merchant への優れたアクセスを提供します。

あなたが直面している問題は、存在しない変数を見ていることです。あなたの「スコープ」はオフです。変数g.category_codeは、グローバル変数コンテキストでカテゴリ コードを保持します (これは、混乱を招く可能性があると思いますg.category:name)。LOCAL 変数のコンテキストを調べる必要があります。

あなた<mvt:foreach>は元気そうです。

コードを次から変更してみてください。

<mvt:if expr="'Best '$'Sellers' IN g.category:name">

に:

<mvt:if expr="'Best '$'Sellers' IN l.settings:category:name">

あるいは:

<mvt:if expr="'Best Sellers' IN l.settings:category:name">

そうすれば、不要な連結を行う必要がなくなります。;)

于 2012-06-07T15:02:52.700 に答える