phpsmarty3

{php} is not working in latest smarty while using SmartyBC class file


I have came across my first issue and it has to deal with PHP in smarty. I read the smarty manual where it said to include the SmartyBC.class.php file instead of the regular Smarty.class.php file and i did change the default file to the BC file. I went into my .tpl file and add {php}Messages::displayMsg();{/php} to show my "wrong password" message when i enter incorrect details to test to see if it works. I get this:

Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "file:/var/www/falonde.local/public_html/views/Admin/login.tpl" on line 51 "{php}" {php}{/php} tags not allowed. Use SmartyBC to enable them <-- thrown in /var/www/falonde.local/public_html/libs/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 51

I am including it. Its included, smarty works if i remove the php code. But it won't show my error message at all. It gives me that. And i have included SmartyBC.class.php where i included the Smarty.class.php before. What am i doing wrong?


Solution

  • Where you previously had

    require_once('path/to/smarty/libs/Smarty.class.php');
    $smarty = new Smarty();
    

    change it to

    require_once('path/to/smarty/libs/SmartyBC.class.php');
    $smarty = new SmartyBC();
    

    https://www.smarty.net/docs/en/bc.tpl