Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Modernizing Drupal 10 Theme Development
  • Table Of Contents Toc
  • Feedback & Rating feedback
Modernizing Drupal 10 Theme Development

Modernizing Drupal 10 Theme Development

By : Luca Lusso
4.1 (19)
close
close
Modernizing Drupal 10 Theme Development

Modernizing Drupal 10 Theme Development

4.1 (19)
By: Luca Lusso

Overview of this book

Working with themes in Drupal can be challenging, given the number of layers and APIs involved. Modernizing Drupal 10 Theme Development helps you explore the new Drupal 10’s theme layer in depth. With a fully implemented Drupal website on the one hand and a set of Storybook components on the other, you’ll begin by learning to create a theme from scratch to match the desired final layout. Once you’ve set up a local environment, you’ll get familiarized with design systems and learn how to map them to the structures of a Drupal website. Next, you’ll bootstrap your new theme and optimize Drupal’s productivity using tools such as webpack, Tailwind CSS, and Browsersync. As you advance, you’ll delve into all the theme layers in a step-by-step way, starting from how Drupal builds an HTML page to where the template files are and how to add custom CSS and JavaScript. You’ll also discover how to leverage all the Drupal APIs to implement robust and maintainable themes without reinventing the wheel, but by following best practices and methodologies. Toward the end, you’ll find out how to build a fully decoupled website using json:api and Next.js. By the end of this book, you’ll be able to confidently build custom Drupal themes to deliver state-of-the-art websites and keep ahead of the competition in the modern frontend world.
Table of Contents (21 chapters)
close
close
1
Part 1 – Styling Drupal
12
Part 2 – Advanced Topics
17
Part 3 – Decoupled Architectures

Understanding forms

Until now, we’ve dealt with URLs that render, in their main content block, a custom render array (/forecast/turin, for example) or a render array that represents a node (the Home page or the Trip page).

But not all the routes follow this pattern. For example, the /user/login route contains something different. By using WebProfiler, we can see that the controller used in this case is HtmlFormController, which is in charge of returning a specialized version of a render array, called a form array. At the moment, the login form is functional, but it is unstyled:

Figure 7.1 – The unstyled login form

Figure 7.1 – The unstyled login form

Figure 7.1 shows that the main content for the Log in page is a form.

HtmlFormController is used to manage every form that must be rendered in the main content block, but how does Drupal know which form to render where? A form is identified by two properties:

  • The fully qualified class name: \Drupal\user\Form\UserLoginForm...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech

Create a Note

Modal Close icon
You need to login to use this feature.
notes
bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Delete Note

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Edit Note

Modal Close icon
Write a note (max 255 characters)
Cancel
Update Note

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY