Book Image

Drupal 8 Theming with Twig

By : Chaz Chumley
Book Image

Drupal 8 Theming with Twig

By: Chaz Chumley

Overview of this book

Drupal 8 is an open source content management system and powerful framework that helps deliver great websites to individuals and organizations, including non-profits, commercial, and government around the globe. This new release has been built on top of object-oriented PHP and includes more than a handful of improvements such as a better user experience, cleaner HTML5 markup, a new templating engine called Twig, multilingual capabilities, new configuration management, and effortless content authoring. Drupal 8 will quickly become the new standard for deploying content to both the web and mobile applications. However, with so many new changes, it can quickly become overwhelming knowing where to start and how to quickly. Starting from the bottom up, we will install, set up, and configure Drupal 8. We’ll navigate the Admin interface so you can learn how to work with core themes and create new custom block layouts. Walk through a real-world project to create a Twig theme from concept to completion while adopting best practices to implement CSS frameworks and JavaScript libraries. We will see just how quick and easy it is to create beautiful, responsive Drupal 8 websites while avoiding the common mistakes that many front-end developers make.
Table of Contents (20 chapters)
Drupal 8 Theming with Twig
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Preface
Index

Drupal Views and Twig templates


Unlike most of Drupal's templates, Views do not provide a file name suggestion for overriding Twig templates. So how do we know exactly what to name our template? View templates can be created in a variety of ways, but the easiest way to remember this is by following this rule:

[base template name]--[view machine name].html.twig

So in the case of our Categories view, will want to create a new Twig template with the name views-view-unformatted--categories.html.twig.

Begin by navigating to the core/modules/view/templates folder and following these remaining steps:

  1. Copy views-view-unformatted.html.twig and place it into our theme/octo/templates folder.

  2. Rename views-view-unformatted.html.twig to views-view-unformatted--categories.html.twig.

  3. Next, we will need to replace the current markup with the following new markup to convert the default <div> to <ul>:

    New markup

    {% if title %}
        <h3>{{ title }}</h3>
    {% endif %}
    
    <ul class="nav nav-list...