2015-03-31 84 views
0

我想在我的Footer.ss文件中包含版权信息的年份,用于我正在处理的Silverstripe项目。但是,我不明白为什么$ Now.Year不起作用。我可以看到版权符号和版权文本,但不是年份。有没有另一种方法来显示一年?

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

尝试'<%control Top%> $ Now.Year <%end_control%>'作为'$ Now'的范围在'Top'内 – naththedeveloper 2015-03-31 13:18:25

+0

$ Now.Year在这里工作。检查范围 - 你是在顶部还是在循环或与?您可以使用$ Top.Now.Year查看它。还要检查HTML源代码以验证它不是样式问题。 – munomono 2015-03-31 13:21:33

+0

我试过<%control Top%> $ Now.Year <%end_control%>但没有奏效。我用$ Top.Now.Year替换了$ Now.Year,但在HTML源代码中没有看到任何内容 - 只是一个空的空间。 – 2015-03-31 13:25:32

回答

2

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

编辑:另外,你是否包括设置任何变量?例如<%包括页脚现在=真%>

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

+0

不,我在调用页脚包含时没有变量。它只是<%包含页脚%> 我不知道是否启用了开发模式。我是Silverstripe的新手,所以我不知道这件事。我将不得不考虑它。 – 2015-03-31 13:36:52

2

$现在是全球性的,应该不顾上下文的任何地方工作/范围,无论是包括/电子邮件或不

<%控制%>应该也永远不会被使用,直到永远。(在3.x中 - 这是2.4.x的和较低的代码)

@kinglozzer超过。可能是正确的。它的短片是$ Now.Year 确实工作。

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

但(见返回值):

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

PHP自己的日期( 'YMD H:I:S')将发出一个错误 - 这只是一个警告(所以执行继续),同时返回false。您没有看到这个,因为您的网站将处于直播模式。有关更多信息,请参阅silverstripe文档(同样,rep等级会张贴适用的链接)。

这意味着你有一个服务器配置问题,而不是silverstripe问题。

+0

我将不得不在晚些时候考虑......你可能是正确的。谢谢! – 2015-03-31 14:40:25