我正在使用 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 中的错误还是配置问题?
最佳答案
这是一个有点出名的 configuration issue ,由 $smarty->plugins_dir
引起未正确设置(或阻止访问该目录的其他问题)。
date_format
是 Smarty plugin 的名称,但它也是 PHP function 的名称。如果 Smarty 无法找到其插件,它会调用 PHP 函数,该函数需要一组完全不同的参数。由此产生的破损就是您所看到的。
关于PHP Smarty now 函数返回随机日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14585013/