Drupalize.Me Update: March 2015
Blog postAs Drupal 8 approaches, our team has been growing and really pushing ourselves. Over the past few weeks, we released some impressive tutorials and site updates. Here's an overview.
This fall we’re trying something new: we’re offering real-time remote workshops. It’s not quite in-person, but I’m pretty excited to try it out.
This guide was written, and is maintained, by Drupalize.Me. For more high quality written and video Drupal tutorials created by our team of experts, check out the collection of Drupalize.Me Guides.
We're sad to miss DrupalCon Europe in Amsterdam next week (October 28-31, 2019). But which talks would we attend if we were going? Amber and Joe combed through the program and created a list of what looks intriguing to us at the next DrupalCon. Will you be there? You might want to check out our picks.
We Get Around
We just finished our Do It With Drupal conference in Brooklyn, NY. If you missed the event, or were there and missed some of the sessions (there were so many good ones to see), we'll have videos of ALL the sessions on Drupalize.Me in a few weeks. You'll need to be a subscriber to access the videos, so if you're not already, sign up today.
Our 2016 Drupal 8 Tutorial Roadmap
Blog postMore and more people are getting excited about working with Drupal 8. We’ve been working full-speed to put together the most accurate Drupal 8 tutorials, as well as keeping them up to date, as Drupal 8 changes every 6 months. I wanted to give an update on where we are with our Drupal 8 material and give you a look at what to expect over the coming 3 months from our team.
PHP developers are pretty darn excited because Drupal 8 has a new object-oriented framework with some Symfony components. Are you ready to learn how to leverage these Symfony components in your Drupal 8 module? Then check out this new set of tutorials from our friends at KnpUniversity: Module Development Essentials.
New Tutorial Format Feedback
Blog postLast year we launched a new written format for our tutorials. We’re really excited about this format because it gives us the flexibility to present information in whatever way makes the most sense. With text and video on the same page, it's easy to find what you need, and it gives you the option to learn however you learn best.
Preprocess functions allow you change existing variables, or add new variables, for a template file using PHP code. In this final exercise for the course, you'll define a PHP function that implements a preprocess hook and define a new variable using PHP and make it available for use within a specific template file. Specifically we want to create a new variable named {{ today }}
that contains the current date and gets passed to the page.html.twig template file. You should work on the exercise steps below first, and you can refer to the video if you need some help.
If you want to try and accomplish this on your own first you'll need to:
Learning objectives:
- Create a THEMENAME.theme file.
- Write a proprocess PHP function that adds variables to a page template file.
Note: At the end of this exercise, you'll find a video walk-through of the solution.
In this tutorial, you'll see how Drupal's development.services.yml file can be used to configure services on a local environment. We'll use it to turn the cache off in our service during local development.
Additional resources
Welcome to Our New Site
Blog postWe redesigned the site and upgraded to Drupal 7! A lot of the site and features remain the same, but we do have some changes we'd like to point out.
Every web framework, including Drupal, has basically the same job: provide a way for developers to map URLs to the code that builds the corresponding pages. Drupal uses Symfony's HTTPKernel component. Kernel events are dispatched to coordinate the following tasks:
- Process the incoming request
- Figure out what to put on the page
- Create a response
- Deliver that response to the user's browser
Knowing a bit more about how Drupal handles the request-to-response workflow will help you better understand how to use routes and controllers to create your own custom pages or deal with authentication, access checking, and error handling in a Drupal module.
In this tutorial we'll:
- Walk through the process that Drupal uses to convert an incoming request into HTML that a browser can read
- See how the Symfony
HTTPKernel
helps orchestrate this process - Learn about how the output from a custom controller gets incorporated into the final page
By the end of this tutorial, you should be able to describe the process that Drupal goes through to convert an incoming request for a URL into an HTML response displayed by the browser.
Drupal core comes with a few base themes: Stable, Stable 9, Classy, and Stark. Each one has a different intended use case. And all of them are useful as a reference for building your own themes.
In this tutorial we'll:
- Learn what each of the base themes included in Drupal core is intended to be used for
- Compare the output from the base themes with a focus on Stable and Classy
By the end of this tutorial you'll be able to explain the use case for each of the base themes included with Drupal core and make an informed decision about which, if any, to use when creating your own custom themes.
Release Day: Decoupled Drupal
Blog postToday we released a new series, Decoupled Drupal. This series walks through the basic considerations and planning that goes into deciding whether or not a decoupled approach is right for you.
Broken Feeds and Spaces in Your Code
Blog postIf you receive our newsletter, you may have noticed that you recently got a HUGE list of posts we've written recently. Well, except that they weren't all really that recent — some of those we two months old, and every week in between. Our regular newsletter is sent out automatically based on our RSS feed, and it turns out that our RSS feed was broken. Once we tracked it all down and got it fixed, all of the posts that had never gotten queued up for the newsletter shot out in one big go. Sorry about that. Aside from the crazy long newsletter though, I thought I'd share how I got this sorted out, because this is the kind of problem that can happen to anyone, and it is really annoying to track down.
Core Themes: Stark
FreeStark is one of the themes bundled with Drupal. It is intentionally bare bones and its purpose is to help Drupal theme and module developers get to the heart of Drupal's system templates. In this tutorial, we'll explore Stark and its primary features and discuss the various reasons for utilizing the Stark theme.
Our Favorite HTML and CSS Resources
Blog postYou want to learn HTML and CSS, or maybe you just need a refresher on the current state of web technology—where should you start? This is a question we get asked a lot at Drupalize.Me. Our theming and module development videos often assume that you're familiar with basic HTML and CSS, so here is a list of our favorite resources.
One of the features of any content management system's architecture is the separation of presentation and data. In Drupal, modules are responsible for figuring out what should be on the page, and themes are responsible for the final look and feel of anything shown in the browser. It's vital for a module to return themeable output, so that the active theme can determine how it's presented.
In this tutorial, we'll:
- Define themeable output.
- Show how modules can avoid embedding presentation data in their output.
- Explain why Drupal favors structured arrays over HTML strings for data presentation.
By the end of this tutorial, you will be able to articulate the role modules play in enabling themes to customize a Drupal site's appearance.
In the next few tutorials, we'll pull back the veil of Views theming a bit and introduce some tools to help you wrangle Views' template files. In this tutorial, I'll introduce you to Views Theme Information and how to use this interface to find out which template files are being used to mark up your view.