Drupal 8

PDF Generation in Drupal

It is nice when a user can click a button and generate a PDF. Over the last few months, I have added PDF generation to many projects. Examples of PDF generation include order invoices, sell sheets, webform submission results, and general node to PDF generation.  When tasked at generating PDFs, I have been applying the dompdf library. The dompdf library implements the most flexibility by using HTML and CSS to generate PDFs.  Therefore, giving the most flexibility for custom theming.  

Drupal 8 Commerce Promotions - Buy X or more of the same product and get % off that order item

Currently "Buy X and Get Y" discount is only related to the whole order and not at the order item level. 

I needed order item level discounts. e.g. buy 10 or more of the same product and get 10% off that order item. 

The new promotion will only discount at the order item level for order items with a quantity of 10 or more.

Drupal 8 - Longer Titles - Entity Title Length/Node Title Length

I created this post to have a quick overview of the two different Drupal 8 modules that extend the default node title length.  There are currently two modules: Node Title Length and Entity Title Length.  

Both modules are easy to set up and both have a very minimal configuration.   I do recommend the Node Title Length module due to being in a stable and released state.

Node Title Length [Recommended]

Drupal 8 Commerce - Setting a Default Currency on Product Variations

By default Drupal 8 commerce 2.x product variations do not have a default currency setting for multi-currency projects.  

Currently, there is a patch in the works to solve this issue.  The patch can be found in the commerce issue queue: https://www.drupal.org/project/commerce/issues/3016777

Thank you a.dmitriiev for creating a patch to solve this issue!

Drupal 8 Configuration Synchronization

Configuration Synchronization

Drupal 8 has a really great configuration synchronization system, and is great for syncing up different environments.  When creating new modules and adding new fuctionality I really enjoy working with Drupal 8's configuration synchronization tool.  Not only does this tool take the guesswork out of updates that need to be made on other environments.  The configuration synchronization also allows for all changes to be documented.