Is it possible to output the template name being used? Using a global variable or something similar? I am wanting to check which template is being used in a conditional.

  • I don't think that's possible, but can you give an example why you want to check the template-name? – Victor In Jun 24 '14 at 21:32

You can get the current template’s name like so:

{{ _self.getTemplateName() }}
  • 1
    Careful with this; it returns an object of type Twig_Markup, which is then casted to a string. If you need template name strictly as a string, use _self.getTemplateName().__toString – Alex Apr 21 '17 at 15:09

In Craft 3, {{ _self.getTemplateName() }} throws an error, but {{ _self }} does the trick.


I don't believe this is currently possible outside of the context of a Craft plugin. Inside of a plugin, you could probably do it through a Twig extension so that you have access to the template instance, where you could call $template->getTemplateName(), which is part of Twig's Twig_Template abstract class.

  • 1
    Thanks Brad, would you consider adding a tag for it a some point? – Gareth Jun 25 '14 at 5:57
  • I don't see why not! – Brad Bell Jun 25 '14 at 7:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.