0
嘿...我怎麼能覆蓋$佈局變量。我想添加一些邏輯,所以如果用戶登錄它顯示內容X,如果不是內容Y.我試着在Page.php中定義佈局函數,但它不起作用。謝謝。
嘿...我怎麼能覆蓋$佈局變量。我想添加一些邏輯,所以如果用戶登錄它顯示內容X,如果不是內容Y.我試着在Page.php中定義佈局函數,但它不起作用。謝謝。
我不認爲你真的想覆蓋$佈局函數...這是用來包含一個適當的模板頁面type.e.g.如果您的頁面類型爲NewsPage類名,則SilverStripe會在模板/ Includes目錄中檢查NewsPage.ss文件。如果不存在,那麼它將使用該目錄中的Page.ss文件以及templates目錄(具有$ Layout變量)根目錄中的Page.ss。請參閱SilverStripe Templates。
如果你想顯示不同的內容,那麼一種方法是覆蓋內容變量。
function index($request) {
if(Member::currentUserID()) {
return array(
'Content' => '<p>My custom content</p>'
);
} else {
return array();
}
}
另一種方法是做到這一點的模板本身是這樣的::
<% if CurrentMember %>
<p>Logged in</p>
<% else %>
<p>No logged in</p>
<% end_if %>
你可以通過重寫,像這樣的指數()函數(它添加到您的控制器)做到這一點