Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Drupal 8 Theming with Twig

You're reading from   Drupal 8 Theming with Twig Master Drupal 8's new Twig templating engine to create fun and fast websites with simple steps to help you move from concept to completion

Arrow left icon
Product type Paperback
Published in Mar 2016
Publisher Packt
ISBN-13 9781782168737
Length 376 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Chaz Chumley Chaz Chumley
Author Profile Icon Chaz Chumley
Chaz Chumley
Arrow right icon
View More author details
Toc

Table of Contents (14) Chapters Close

Preface 1. Setting Up Our Development Environment 2. Theme Administration FREE CHAPTER 3. Dissecting a Theme 4. Getting Started – Creating Themes 5. Prepping Our Project 6. Theming Our Homepage 7. Theming Our Interior Page 8. Theming Our Blog Listing Page 9. Theming Our Blog Detail Page 10. Theming Our Contact Page 11. Theming Our Search Results 12. Tips, Tricks, and Where to Go from Here Index

Creating a theme file


The *.theme file is a PHP file that contains theme hooks for preprocessing variables. We will create a theme file specific to our theme that we can use to grab the comment count, based on each individual post, and then return the count to our Twig template as a variable that can be printed.

Let's begin by creating a new file called octo.theme and saving it to our themes/octo folder.

Next, we will add the following PHP code:

<?php

function octo_preprocess_node(&$variables) {
  $node = $variables ['elements']['#node'];
  $id = $node->id();

  // Create comment count variable for template
  $count = _octo_comment_count($id);
  $variables['comment_count'] = _octo_plural($count, 'Comment',
  'Comments');
}

The octo_preprocess_node(&$variables) function is known as a theme hook and is an adaptation of theme_preprocess_node. Within this function, we are passing by reference any variables accessible to the Node using &$variables. Since everything in Drupal is...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image