$Now.Year在Footer.ss文件中不起作用


$Now.Year not working in Footer.ss file

我想在我正在进行的Silverstepe项目的Footer.ss文件中包含版权信息的年份。但是,我不明白为什么$Now.year不起作用。我可以看到版权符号和版权文本,但看不到年份。还有其他方式来展示今年吗?

<div class="Footer-Text">
 $SiteConfig.Footerlinks
 <p> &copy; $Now.Year $SiteConfig.Copyright</p>
</div>

是否已启用开发模式?我想知道这里是否抑制了一个错误(可能是date.timezone PHP设置)

编辑:另外,当你包含时,你是否设置了任何变量?例如<%包括页脚立即=真%>

我会评论而不是回答,但我没有足够的代表:(

$Now是全局的。无论上下文/范围如何,它都应该在任何地方工作,无论是否包含/电子邮件。

<%控件%>也不应该被使用,永远(在3.x中,它是2.4.x和更低的代码)。

@金洛泽很可能是对的。简而言之,$Now.Year确实有效。

http://api.silverstripe.org/3.1/source-class-SS_Datetime.html#199-203

但是(参见返回值):

http://php.net/manual/en/function.date.php

PHP自己的日期('Y-m-d H:i:s')将发出一个错误-这只是一个警告(因此执行将继续),同时返回false。你看不到这一点,因为你的网站将处于实时模式。有关更多信息,请参阅silverstripe文档(再次发布适用链接的代表级别箔片)。

这意味着您有服务器配置问题,而不是银条纹问题。