2.配置 HelloWorldLeftAndMain.php
如果你還沒有讓我們簡單地啟動這個檔案:
class HelloWorldLeftAndMain extends LeftAndMain {
}
配置
你應該做的第一件事是定義將用於訪問介面的 $url_segment
,以及將出現在管理面板的側面導航選單中的標題($menu_title
):
private static $url_segment = 'helloworld';
private static $menu_title = 'Hello World';
以下配置變數是可選的,本指南中未使用:
private static $menu_icon = 'helloworld/path/to/my/icon.png';
private static $url_rule = '/$Action/$ID/$OtherID';
新增樣式表和 Javascript
LeftAndMain
允許你覆蓋它的父節點中的 init
方法,我們可以使用它來為我們的介面要求特定的檔案。毫無疑問,你應該始終需要一個 CSS 樣式表來設定使用者介面的元素樣式。
作為提示,建議永遠不要依賴 CMS 提供的 CSS 類,因為這些可能會隨時更改,恕不另行通知,隨後會破壞 UI 的外觀(例如,3.*
到 4.*
已經完全改變了因此,你在 3.*
中依賴的任何 CSS 類都需要重新設定以轉換為 4.*
)
所以我們新增我們的 helloworld/css/styles.css
檔案:
public function init() {
parent::init();
Requirements::css('helloworld/css/styles.css');
//Requirements::javascript('helloworld/javascript/script.min.js');
}
我們不需要此示例的任何 Javascript 功能,但在上面我已經包含了如何使用 Requirements 類新增 Javascript 檔案。
之後你可以採用你曾經習慣的事情來處理像 $allowed_actions
等 Page_Controller
,但是有一個明顯的區別,但是
你不能覆蓋
index()
。
相反,index()
被假定為 HelloWorldLeftAndMain_Content.ss
,從那裡,它需要通過模板函式處理索引顯示(參見下面的示例)
完整的程式碼
class HelloWorldLeftAndMain extends LeftAndMain {
private static $url_segment = 'helloworld';
private static $menu_title = 'Hello World';
private static $allowed_actions = array(
'some_action'
);
public function init() {
parent::init();
Requirements::css('helloworld/css/styles.css');
//Requirements::javascript('helloworld/javascript/script.min.js');
}
public function Hello($who=null) {
if (!$who) {
$who = 'World';
}
return "Hello " . htmlentities($who);
}
}