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?– VictorJun 24, 2014 at 21:32
3 Answers
You can get the current template’s name like so:
{{ _self.getTemplateName() }}
-
2Careful 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
– AlexApr 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
-