在Drupal实战一书中,曾经实现过,为白银会员、黄金会员、钻石会员设置不同的价格,那里面讲述的是一种方式。
很多学习Commerce的开发者,一定会认为,这方面,Commerce方便多了,可以使用Rules。
我今天在Ubercart下面尝试了一下,使用RUles实现同样的功能,这是我的配置,非常简单:
{ "rules_golden_user_price" : {
"LABEL" : "golden user price",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "uc_product", "rules" ],
"ON" : { "uc_product_load" : [] },
"IF" : [ {
"node_is_product" : { "node" : [ "node" ] } },
{ "user_has_role" : { "account" : [ "site:current-user" ], "roles" : { "value" : { "6" : "6" } } } } ],
"DO" : [ {
"data_calc" : { "USING" : { "input_1" : [ "node:list-price" ], "op" : "*", "input_2" : "0.75" },
"PROVIDE" : { "result" : { "result" : "Calculation result" } } } },
{ "data_set" : { "data" : [ "node:price" ], "value" : [ "result" ] } } ] } }