smarty icon indicating copy to clipboard operation
smarty copied to clipboard

Smarty v5 $smarty.template behavior doesn't match v5 documentation (it now includes a type and directory part)

Open cmanley opened this issue 1 year ago • 0 comments

Since version Smarty v5, the $smarty.template variable returns the type.path/file name of the current template, despite the documentation claiming that it "Returns the name of the current template being processed (without the directory)". https://smarty-php.github.io/smarty/stable/designers/language-variables/language-variables-smarty/#smartytemplate

For a given template name e.g. components/topmenubar.html This is what I got with v3 and v4: topmenubar.html and this is what I get in 5.10.0: file:components/topmenubar.html

So the behavior doesn't match the documentation.

Background info: I use the full template path and file name to pass to a translation modifier by placing this at the top of each template (|basename is added for v5): [% $template = "`$smarty.current_dir`/`$smarty.template|basename`" scope="root" %] and then translating all template strings for the current template this way: [% 'Log off'|xlat:$template|escape %] If there were an easier way to get the current template path + file from which a modifier is being called, then I'd use that.

cmanley avatar May 05 '24 12:05 cmanley