I'm currently working on a custom feature for Drupal 8 Commerce 2.x, and I decided along the way that I wanted to update orders with messages. Documentation on this topic was so light that I decided to write my own post about it!
Your custom module will need to have a couple of additional files:
- mymodule.commerce_log_categories.yml
- mymodule.commerce_log_templates.yml
mymodule.commerce_log_categories.yml
Defines our log categories. e.g.
example_categories: label: Example Categories entity_type: commerce_order example_categories_two: label: Example Categories Two entity_type: commerce_order
mymodule.commerce_log_templates.yml
This file defines the messages or message templates that will be used and seen on orders.
example_status_update category: example_categories label: 'Status Update' template: '<p>Status has been updated.</p>' example_second_status_update category: example_categories label: 'Second Status Update' template: '<p>Status two has been updated.</p>' update_example_status category: example_categories_two label: 'Order Status Update' template: '<p> Order Update Status</p>' update_example_status_two category: example_categories_two label: 'Order Status Update Two' template: '<p> Order Update Status Two</p>'
Creating a Message on Commerce Orders
Now that we have our categories and message templates defined, we're ready to start adding messages to our orders.
We will need to have the order entity:
$log_storage = \Drupal::entityTypeManager()->getStorage('commerce_log'); $log = $log_storage->generate($order, 'update_example_status_two'); //use one of our predefined templates $log->save();
And that's it— now we can add messages to our orders in Drupal 8 Commerce 2.x. Go message it up!
Original Post: https://trail9.com/?q=news/drupal-8-commerce-2x-order-messages
Comments