Create Links with Twig in a Template File for Drupal 8, 9, and 10

If you want to create a link to a internal page in a Twig template--and there's not already a variable in the template that contains the URL you want to link to--you'll need to determine the route of the thing you want to link to and then use the Twig url() or path() functions to generate appropriate URLs. In most cases when you want to create a link to an entity that is being output by the current template there's an existing helper variable to use. For example, in a node.html.twig template file there's a {{ url }} variable that points to the current node. For other scenarios, like hard-coding a link to the /about page, you'll need to do a little more work.

In this tutorial we'll:

  • Use the Twig url() and path() functions to create full URLs for navigation

By the end of this tutorial you should be able to create links to any internal page via Twig.

Theming Drupal Sites