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
Decoupled Drupal 9 with React front-end using search
How to make React calls on a Drupal 9 backend site using the search functionality
Tools
| Drupal | 9.4 |
| React |
The sample sent through from the front-end is as follows:
Adding icon and type elements to the JSON output for React frontend
Working on a decoupled React / Drupal 9 site.
Aim: Adjust the output of curated content for the Work Resources page. So the icon is displayed with a path. Enabling React developers to select whether to use the image or icon.
Tools
| Drupal | 9.4 |
| React |
How to get the node.nid from the alias
In this instance, I'll check the beginning of the string. I want to focus on the href's that start with /node/. Which has been added using the variable $catchPhrase.
Using the Drupal service path_alias to return the node.nid as follows:
Microsoft Teams - not opening on MACOS - how to delete cache of Microsoft Teams on macOS?
Trying to have a chat recently, and Microsoft Teams would not open on MAC OS. Sometimes it would open without issue. But today, no play.
The email comes through with no issue. Opens in Safari with no issue. But the link to open in Microsoft Teams, goes nowhere.
Below are the progressive steps that I took to resolve this issue (note that this could take multiple solutions - let's see):
ERROR Error: Uncaught (in promise): TypeError: undefined is not an object
ERROR Error: Uncaught (in promise): TypeError: undefined is not an object (evaluating 'ce.imageURL')