我正在使用Smarty 2.6.9,我发现我遇到了以下代码块的问题。
Copyright © {$smarty.now|date_format:'%Y'} CRMPicco. All rights reserved
Smarty产生的日期似乎是随机的,有时它是8780,有时它是1872年...正如我所说,完全随机。
我发现这似乎也是一个环境问题,因为它在我的开发环境(CentOS 5.6)中有效,但在测试环境中被破坏了。现在,我意识到这将指向测试环境中的配置问题,但我在整个代码库中使用PHP日期函数,如果它不能正常工作,我很快就会知道它。
我很感激我可能会得到一些建议:“如果PHP日期函数有效,那么将其发送到您的Smarty模板”,但是必须有一种方法可以在Smarty中完成吗?
这是Smarty中的错误还是配置问题?
答案 0 :(得分:2)
这是一个有点知名的configuration issue,由$smarty->plugins_dir
未正确设置(或阻止访问该目录的其他一些问题)引起。
date_format
是Smarty plugin的名称,但它也是PHP function的名称。如果Smarty无法找到它的插件,那么它将回退到调用PHP函数,该函数需要一组完全不同的参数。由此产生的破损就是你所看到的。