Posted by kamihicouki on September 10, 2015 at 11:00am
こんにちは、
はじめまして、
西川と申します。
丸一日使ってどうしてもうまくいかなかったため投稿させていただきます。
目的はタイトルの通りなのですが、言い方を変えるとRule の使い方が分からない と同義です。
以下、状況としたいことを記載させていただきます。
[状況]
* Drupal7 をカスタマイズしてECサイトを作っています
* 様々モジュールを導入して 商品登録〜購入手続きの完了 まではできます
* userpoints, commerce_points モジュールをインストールしています
* 手動でのポイント付与は各ユーザへ可能です
[したいこと]
* Order Status 更新(complete)と連動して各ユーザへポイントを付与したい
* 商品(SKU)ごとで還元率(ポイント)は変動的にしたい
どなたでも構いません。
ご助力いただけると幸いです。

Comments
Commerce のチェックアウト完了時に
Commerce のチェックアウト完了時に Userpoints のポイントを自動付与されたいとのことですね。
うまく行かないとのことですが、具体的にはどの部分がうまく行かないでしょうか? SKU ごとに還元率を変動させるところでしょうか?必要な condition や action が足りないでしょうか?あるいは、 rule のそもそもの使い方がわかりづらい感じでしょうか?
ゴールとして、実現されたいことを Rules で実現するにはおおよそ次のような rule を作ることになるかと思います(実際に今再現しているわけではないので正確ではありません。その点ご了承ください)。
「ロジックとしては問題ないはずなんだけど何がうまく行っていないのかわからない・・・」という場合は Rules のログを確認したり途中の変数を出力したりされるとよろしいかと思います。
「そもそも Rules がよくわからない・・・」という場合は実際の rule ( Commerce のデフォルトの rule など)をたくさん見たりドキュメントやチュートリアルを読んだりされるとよいかもしれません。
ご参考になればと思います。
@hgoto
@hgoto さん
お返事ありがとうございます。
いろいろ理解できていない部分はありますが、まずは示していただいた Action: を試してみました。
現状としましては、
Action:
- 1. loop の回し方は理解できました
- 2. line item の数だけ100ポイント付与することができました。 またポイントの付与に関しては"ポイント付与率"というタクソノミー及び項目を作成し、各SKUはそのどれか1つに属するようにしたいと考えています。イメージは店頭の商品に割引タグがついてるのと同じです。
- 3. 合算処理がどの項目で設定するのか分かりませんでした。また、合算アクションはloopの内側?に追加するということでよろしいでしょうか。。
- 4. ルール内の USER.Data selector という項において
commerce-order:ownerを選択してできましたはい。Rule の理解がままならない状態でとりあえず手を動かし、ドキュメントを見たりして試行錯誤中です。
これから教えていただいたリンク先を読んでみようと思います(英語がくるしぃ;;
また今日も午後からがんばりますb
ありがとうございました。
ご丁寧にご説明くださりありがとうございます。 ご説明を読ま
ご丁寧にご説明くださりありがとうございます。
ご説明を読ませていただいたかぎりですと、ほぼ完成!された感じのようですね。
こちらに関して。すでにご解決済みかもしれませんが、こちらは確か「変数を追加」で初期化した後、「値を計算」・「データの値をセット」という action をループ内で順次実行していくことで合計額の計算が実現可能かと思います。ご参考になさっていただければと思います。
Rules は、その「感じ」が徐々にわかってくるととても便利で重宝しますが、やはりちょっと直感的でないというかとっつきにくいところがありますもんね。。情報源がほとんど英語になってしまうところも、なかなか難しいですね。。
上述の合算の件については以下のページなども英語にはなりますがご参考になるかもしれません。よろしければご覧になってみてください。
がんばってくださいb