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
    Jun 24, 2014 at 21:32

3 Answers 3


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

{{ _self.getTemplateName() }}
  • 2
    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, 2017 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, 2014 at 5:57
  • I don't see why not!
    – Brad Bell
    Jun 25, 2014 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.