1

Previously in ubercart 3.x you were able to send messages and log admin notes on each order page. How can this be done using Drupal Commerce? I want to be able to message the purchaser in the order invoice page and also add internal notes if necessary. Which module(s) would I need to achieve this? Can you provide a screenshot of it in action?

3

Since Drupal Commerce is based on the Rules module, you can simple create a custom rule which watches order status and react when one is changed.

Assuming you have Rules UI enabled you can go to: admin/config/workflow/rules/reaction/import

Here is a simple Rule which you can import:

{"rules_admin_order_update" : {
    "LABEL" : "Admin order update",
    "PLUGIN" : "reaction rule",
    "OWNER" : "rules",
    "REQUIRES" : [ "rules", "entity" ],
    "ON" : { "commerce_order_update" : [] },
    "IF" : [
      { "NOT data_is" : {
          "data" : [ "commerce-order:status" ],
          "value" : [ "commerce-order-unchanged:status" ]
        }
      }
    ],
    "DO" : [
      { "mail" : {
          "to" : "admin@domain.dk",
          "subject" : "Update",
          "message" : "The order changed to [commerce-order:status-title]."
        }
      }
    ]
  }
}

You can then change the add more info, change parameters etc.

Hope this can get you going. :)

2
  • its not just update status i want to notify customers about. I want to be able to send a message to customers and also show internal log information on when things were changed from processing to shipped. – Patoshi パトシ Dec 27 '13 at 21:36
  • 1
    Then I'd take a look at how Commerce Kickstart 2.x rigs this all up using Message / Commerce Message. You would just need a UI for adding comments to the order (we do it via Message) and then Rules on the various triggers to send the e-mails out. – Ryan Szrama Dec 30 '13 at 21:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.