2015-03-31 68 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