The SitePoint PHP blog has posted a new tutorial that's another Drupal-focused article explaining custom Display Suite fields in the latest Drupal 8. Display Suite is a popular Drupal module that's been ported from Drupal 7 to version 8. It provides lots of features to help you easily create these custom fields and integrate them into layouts with other core fields.
Without question, Display Suite is one of the most popular modules in Drupal’s contributed modules history. It allows the creation of layouts, fields and exposes all sorts of other powerful tools we use to build the presentation layer of our Drupal sites.
[...] In this article, we are going to look at how we can create our own Display Suite field in Drupal 8 using the new OOP architecture and plugin system. To demonstrate this, we are going to create a DS field available only on the Article nodes that can be used to display a list of taxonomy terms from a certain vocabulary. And we’re going to make it so that the latter can be configured from the UI, namely admins will be able to specify which vocabulary’s terms should be listed.
He starts with a brief introduction to Drupal 8 plugins and their structure. From there he gets into the creation of the
VocabularyTerms class they'll use to define their custom DSField plugin. He goes on to create the default configuration, formatters and how to show a list of the current settings (a summary). He then creates the form where the plugin can be configured through the UI and how to render the resulting field.