1 <?php
2
3 4 5
6 class HomePage extends Page {
7
8 static $icon = 'webylon/img/home';
9 static $db = array(
10 'NewsOnPage' => 'Int',
11 'Address' => 'HTMLText',
12 'Counters' => 'HTMLText',
13 );
14 static $can_create = false;
15 static $defaults = array(
16 'NewsOnPage' => 5,
17 'DevEditType' => 'Fixed',
18 'AutoChild' => 0,
19 );
20
21 function getCMSFields() {
22 $fields = parent::getCMSFields();
23 if (!Director::isDev()) {
24 $fields->removeByName('AutoChild');
25 }
26
27 $fields->removeByName('ParentType');
28 $fields->removeByName('ParentID');
29 $fields->removeByName('NumberCMSChildren');
30 $fields->removeByName('NewsOnPage');
31 return $fields;
32 }
33
34 function canCreate($member = false) {
35 return Director::isDev() && parent::canCreate($member);
36 }
37
38 function canDelete($member= false) {
39 return $this->canCreate($member);
40 }
41
42 function requireDefaultRecords() {
43 parent::requireDefaultRecords();
44
45 if ($this->class != 'HomePage') return;
46
47
48 if($homepage = SiteTree::get_by_link('home')) {
49 if ($homepage->ClassName == 'Page') {
50 $homepage->ClassName = 'HomePage';
51 $homepage->populateDefaults();
52 $homepage->write();
53 $homepage->publish('Stage', 'Live');
54 $homepage->flushCache();
55 DB::alteration_message('Home page class changed to HomePage', 'updated');
56 }
57 }
58 else {
59 $homepage = new HomePage();
60 $homepage->Title = _t('SiteTree.DEFAULTHOMETITLE', 'Home');
61 $homepage->Content = _t('SiteTree.DEFAULTHOMECONTENT', '<p>Welcome to SilverStripe! This is the default homepage. You can edit this page by opening <a href="admin/">the CMS</a>. You can now access the <a href="http://doc.silverstripe.org">developer documentation</a>, or begin <a href="http://doc.silverstripe.org/doku.php?id=tutorials">the tutorials.</a></p>');
62 $homepage->URLSegment = 'home';
63 $homepage->Status = 'Published';
64 $homepage->Sort = 1;
65 $homepage->write();
66 $homepage->publish('Stage', 'Live');
67 $homepage->flushCache();
68 DB::alteration_message('Home page created', 'created');
69 }
70 }
71
72 function onBeforeWrite() {
73 parent::onBeforeWrite();
74 $this->DevEditType = 'Fixed';
75
76 }
77
78 }
79
80 class HomePage_Controller extends Page_Controller {
81
82 }
83
[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the
Silverstripe Forums to ask development related questions.
-