私のDrupal Commerceストアには、Commissionというフィールドがあります。
委員会はパーセンテージとして入力されます(つまり、固定されたグローバル値ではありません)。
手数料が含まれるように、最終価格を更新する必要があります。次に、コミッションにVATを追加する必要があります(ただし、当初の価格ではありません)。ユーザーは、カートに商品を追加する前に、(コミッションとコミッションVAT付きの)全額を確認できる必要があります。
特に "単価に金額を掛ける"というアクションがあるので、この状況にはルールが最適だと思いました。ただし、ルールの条件領域でスコープに含めても、このアクションはカスタムフィールドの値を受け入れないようです。
私はルールと商用モジュールで Randy Feyの優れたチュートリアル を見て、自分のユースケースにそれらを適応させようとしました。しかし、私はそれを機能させることができません。
誰かが私にいくつかの指針を与えることができますか?ありがとう!
私はこれに対する解決策を見つけたので、苦労している他の人を助けるために投稿しようと思いました:
1)アクションの下でフィールドを呼び出す前に、条件の下でそれを「スコープに」入れる必要があります。 「エンティティにフィールドがあります」を選択します。データセレクターで「commerce-product(saved commerce product)」を選択します。
2)何らかの理由で、「複数の単位量」オプションを使用できない場合があります。使用するデータセレクターに関係なく、エラーが発生します。代わりに「値を計算」を選択します
3)[入力値1]で[commerce-product:commerce-price:amount]を選択します。
4)使用する計算を選択します。私の使用例では、乗算(*)を使用しました。
5)「入力値2」の下の「データ選択ボタンに切り替える」をクリックします。これで、カスタムフィールドを選択できます。 「commerce-product:(saved commerce product)」の下に配置されます
6)[提供された変数]で、計算結果に名前を付けます。後で使用するため、適切な名前を選択してください。
7)「データ値の設定」という新しいアクションを作成します。
8)データを選択するには、「commerce-product:commerce-price:amount」を選択します
9)最後に、値の下にある「データ選択ボタンに切り替える」をクリックします。これで、手順6で作成した変数を選択できます。
これは、カスタムフィールドの値に基づいて価格を変更するために必要なすべてです。
注:1)イベントには、「コマース製品を保存する前」を使用しました。2)「基本価格」というカスタムフィールドを作成することをお勧めします。このフィールドでは、ユーザーは計算前に価格を入力できます。ルールは商品が保存されるたびに適用されるため、コマース価格フィールドは商品が保存されるたびに変化し続けます。基本価格フィールドを使用すると、この問題を回避できます。
これは古い質問ですが、ベンチと同じ問題に遭遇しました。私は最終的に次の条件を使用してそれを解決しました:
Entity has field -> Entity: [commerce-line-item] -> Field: commerce_product
Entity has field -> Entity: [commerce-line-item:commerce-product] -> Field: field_your_custom_field
したがって、2つのステップで実行する必要があります。誰かが2時間前に私に言ったことを望んだ.. ;-)
1)の場合: 'データセレクタの下で「commerce-product(saved commerce product)」を選択します。'
データセレクターでは、「commerce-line-item ...」のみを追加できますか?また、「フィールド」-「チェックするフィールドの名前」というブロックもあります。 ??