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);
}
}