Page 1 of 1
Lots of Smarty Error posts...but no solution???
Posted: Wed Jan 17, 2007 9:26 pm
by knert
hi there,
I installed in a template a piece of code for securing some pages. But now I get a
Smarty Error.
string(322) "Smarty error: [in template:19 line 23]: syntax error: unrecognized tag: //this should the the absolute path to the no_access.html file - see above include ('/usr/local/psa/home/vhosts/xxxxxxxxxxx/httpdocs/login/no_access.html'); exit; (Smarty_Compiler.class.php, line 439)" string(111) "Smarty error: [in template:19 line 23]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 583)"
When I refresh the page the error is gone, so it has to be a cookie problem.
So, knowing that this forum is very large, I supposed to find an answer for this problem.
But I saw LOTS of Smarty errors but NO solutions at all. Is this Smarty thing such a big pain in the butt?
Please HELP, because otherwise this CMS is useless for me.

Re: Lots of Smarty Error posts...but no solution???
Posted: Wed Jan 17, 2007 11:51 pm
by Dr.CSS
It usually has to do with { } in the template these are used by smarty to parce code so if you need to use something that has them you may need to wrap it in {literal} your thing {that has} these in it {/literal}...
Re: Lots of Smarty Error posts...but no solution???
Posted: Thu Jan 18, 2007 9:56 am
by knert
Thank you for your quick reply. I think it's helpfull, but I could
not figure it out
Here's the problem:
I use the basic template. On top in this template I placed a little PHP script. This little script is because I want certain pages to be secured. So when I want some pages to be secured (with login) I use this template.
The script that I use is:
There are indeed a "{" and a "}" in this script. So what you are saying is that these 2 parts are creating the error?
Is there any way to solve this then?

Re: Lots of Smarty Error posts...but no solution???
Posted: Thu Jan 18, 2007 10:11 am
by cyberman
Edit your config.php, change value
Code: Select all
$config['use_smarty_php_tags'] = false;
to
Code: Select all
$config['use_smarty_php_tags'] = true;
Clear cache. Then you can use PHP inside a Smarty template like this
{php}
//prevents caching
header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
session_cache_limiter();
session_start();
//this should the the absolute path to the config.php file
//(ie /home/website/yourdomain/login/config.php or
//the location in relationship to the page being protected - ie ../login/config.php )
require('/usr/local/psa/home/vhosts/xxxxxx/httpdocs/login/config.php');
//this should the the absolute path to the functions.php file - see the instrcutions for config.php above
require('/usr/local/psa/home/vhosts/xxxxxx/httpdocs/login/functions.php');
//this is group name or username of the group or person that you wish to allow access to
// - please be advise that the Administrators Groups has access to all pages.
if (allow_access(Administrators) != "yes")
if (allow_access(Users) != "yes")
{
//this should the the absolute path to the no_access.html file - see above
include ('/usr/local/psa/home/vhosts/xxxxxx/httpdocs/login/no_access.html');
exit;
}
{/php}
Another way is to put source inside a userdefined tag and call it in template like {your_tag}.
Re: Lots of Smarty Error posts...but no solution???
Posted: Thu Jan 18, 2007 11:20 am
by knert
Thnx so far! Yes indeed it looks better now, but not completely.
The problem now is that after the overall login in the secure area (with the pages that need to be secured too) I have to login in each page with this code.
I think this is because the code has changed a little bit so the login script does not recognize this code any more.
You talked about tags. Can I create a tag and place the
original code in it? If so, can you reccomend me anything to create this tag?
Re: Lots of Smarty Error posts...but no solution???
Posted: Thu Jan 18, 2007 11:35 am
by cyberman
Please look at admin panel to menu Extensions > Userdefined tag. There you can place original code (without . In template you can call it with name.
knert wrote:
The problem now is that after the overall login in the secure area (with the pages that need to be secured too) I have to login in each page with this code.
Define another template for following pages (without your source) ...
Re: Lots of Smarty Error posts...but no solution???
Posted: Thu Jan 18, 2007 1:07 pm
by knert
I made a tag, put the code in it, gave it a name: login
the code:
//prevents caching
header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: post-check=0, pre-check=0",false);
session_cache_limiter();
session_start();
require('/usr/local/psa/home/vhosts/xxxx/httpdocs/cms/login/config.php');
require('/usr/local/psa/home/vhosts/xxxx/httpdocs/cms/login/functions.php');
//this is group name or username of the group or person that you wish to allow access to
// - please be advise that the Administrators Groups has access to all pages.
if (allow_access(Administrators) != "yes")
if (allow_access(Users) != "yes")
{
include ('/usr/local/psa/home/vhosts/xxxx/httpdocs/cms/login/no_access.html');
exit;
}
Then I opened the template and placed on top:
{login}
{sitename} - {title}
{metadata}
{stylesheet}
{title}
{content}
Unfortenately I get the same thing: After login I have to re-login each time in the seperate pages with those template.
I DO know for a fact that each page MUST be .php. NOT .html. May be that's the problem?