This is a small module that gives users some global variables that can be then printed in any twig template. For example, if you wanted to print the current page title as the last menu in a breadcrumb, you could print {{ global_variables.current_page_title }} in breadcrumb.html.twig. It can also be printed in any other template - html.html.twig, page.html.twig, node.html.twig, field.html.twig, etc.
Version 2 Pipeline
Version 2.0.0 is identical to 8.x-1.18. It was solely created to align with semantic versioning (semver) standards for releases. All future development strictly occurs across the 2.x branches.
Release History & Innovations
- 2.0.x: Established structural frameworks permitting dependency injection within Variable plugins, alongside the integration of automated tests and comprehensive PHPCS validations.
- 2.1.x: Architecture refinement updating the base
GlobalVariabledefinition schemas for enhanced stability. - 2.2.x: Restored full PHP 8.1 support natively bridging edge cases (e.g. absent current routes breaking Social Email sharing), updated Twitter share URLs, improved query parameter handling, and baked in early Automated Drupal 11 compatibility.
- 2.3.x (Current): Major modernization leap transitioning procedural paradigms to OOP execution.
- Automated cache metadata integration.
- Global Variable plugins are now natively Context-Aware.
- Procedural hooks modernized via
#[Hook]attributes. - Plugin annotations (
@Mgv) deprecated in favor of PHP Attributes (#[Variable]).
Recommended Upgrade Path
To safely capitalize on these modern framework architectures without breaking existing cache infrastructures, we strictly recommend a gradual upgrade path. Because context-awareness implementations and service constructor expansions alter the base container mappings, you should upgrade sequentially without skipping minor versions:
- First, upgrade to the latest 2.1.x to formalize the plugin foundations.
- Upgrade to 2.2.x mapping standard compatibility configurations.
- Finally, upgrade to 2.3.x natively executing the database updates. This staggered deployment allows Drupal's cache invalidation engine to seamlessly rewrite the container parameters mitigating fatal pipeline exceptions!
Table of Contents.
- 1) Paths
- 1.1) Current Path -
{{ global_variables.current_path }} - 1.2) Base URL -
{{ global_variables.base_url }}
- 1.1) Current Path -
- 2) Current Items
- 2.1) Current Page Title -
{{ global_variables.current_page_title }} - 2.2) Current Langcode -
{{ global_variables.current_langcode }} - 2.3) Current Langname -
{{ global_variables.current_langname }}
- 2.1) Current Page Title -
- 3) Site Information Page Global variables
- 3.1) Site Name -
{{ global_variables.site_name }} - 3.2) Site Slogan -
{{ global_variables.site_slogan }} - 3.3) Site Mail -
{{ global_variables.site_mail }} - 3.4) Site Logo -
{{ global_variables.logo }}
- 3.1) Site Name -
- 4) Social Sharing
- 4.1) Twitter -
{{ global_variables.social_sharing.twitter }} - 4.2) Facebook -
{{ global_variables.social_sharing.facebook }} - 4.3) LinkedIn -
{{ global_variables.social_sharing.linkedin }} - 4.4) Email -
{{ global_variables.social_sharing.email }} - 4.5) WhatsApp -
{{ global_variables.social_sharing.whatsapp }}
- 4.1) Twitter -
Alternatives
One very flexible way to solve similar issues is to combine Twig Tweak with Custom Token which allows using all global tokens in Twig and to define further custom tokens in the UI.
Project information
- Project categories: Administration tools, Developer tools, Search engine optimization (SEO)
479 sites report using this module
- Created by markconroy on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.

