Skip to main content

A couple of approaches to build a homepage or landing page through Drupal

2 or 3 approaches to build a homepage or landing page through Drupal

Please include any limitations & considerations of each approach

Building a homepage a few options to consider and should against a business case:

 

1. Article

An article – create a new node (assuming a least one content type exists), then using Basic Site Settings (admin > config > system), scroll down to Front Page and enter the node.nid value or alias.

A brief explanation how Drupal cache works... Include the different modules provided by Drupal to manage cache

Drupal cache is one of the major subsystems that deliver Drupal's flexibility for devs.  In a nutshell, Drupal cache is about speeding up the time to render a page to a user.  Vanish or similar pending server-side set-up makes caching more efficient.

Drupal modules - to name a few Internal Dynamic Page Cache, Internal Page Cache, System

How to get the base URL of a Drupal 9 site

My goal was to get the base URL and compare it with the URL of the link.  Was it an internal or external link?  You can get the hostname, "{your_domain}", directly from the getHost() request:

$host = \Drupal::request()->getHost();

However, if you need the schema as well, such as https://{your_domain}

$host = \Drupal::request()->getSchemeAndHttpHost();

 

Upload an image file using JSON:API

Whilst I had regularly used HAL to upload files through REST API, this is no longer an option given Hal is now deprecated and will be dropped in Drupal 10.  Time to explore JSON:API.

Drupal modules to be installed

You will need to install

  • JSON:API
  • Media

Configuration for JSON:API

Alter the JSON:API to accept all:

Path: Administration > Configuration > Web services > JSON:API

Programmatically get a Drupal taxonomy term tid from it's name

How do you retrieve a taxonomy term tid value from it's name?

In this situation, use the loadByProperties function.  Load the taxonomy term and then reset the array.

Note, reset - to set the internal pointer of an array to its first element.

See as follows:

Drupal - How do I programmatically set contextual filters?

If you are like me, almost every view I have will have this filter.  So I regularly have the need to set a contextual filter programmatically.  However, some won't and will have other contextual filters instead.

You can pass through the $view object the contextual filter params using the setArguments() method.  Say you want to pass three node nids to the view to filter the results contextually:

Drupal 9 adding a reCAPTCHA element to a webform

 

JSON structure

Outlining the structure of the elements common attributes: type, title, name and required;

Text area

{
    "type": "webform_multiple",
    "title": "What's new?",
    "name": "what_s_new_",
    "required": false
}

Text field

An additional attribute for the text field is maxlength

Subscribe to Drupal