在 Silverstripe 中扩展页面
Extending a page in Silverstripe
我正在 Silverstripe 中处理自定义页面,虽然这绝对是基本的,但我仍然无法完成。
我创建了 FundraisingPage(下面的代码)并将新页面设置为 FundraisingPage。然后,我包含了字段数组和 getCMSFields。我重建了数据库并刷新了缓存,但它没有向我显示后端中的字段。
感谢您的帮助。
亚历克斯
<?php
class FundraisingPage extends Page {
private static $db = array(
'fr_video_url' => 'Text',
'fr_form_url' => 'Text',
'fr_meter_url' => 'Text',
'fr_meter_url_employers' => 'Text',
'fr_meter_url_classes' => 'Text',
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Links', new TextField('fr_video_url', 'Video URL'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_form_url', 'Form URL'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url', 'Meter URL'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url_employers','Meter URL by employer'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url_classes', 'Meter URL by classes'), 'Content');
return $fields;
}
}
class FundraisingPage_Controller extends Page_Controller {
}
只需删除每个 addFieldToTab 末尾的“, 'Content'”。由于链接选项卡中没有内容字段,因此无法在 "Content".
之后添加字段
$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url_classes', 'Meter URL by classes'));
我正在 Silverstripe 中处理自定义页面,虽然这绝对是基本的,但我仍然无法完成。
我创建了 FundraisingPage(下面的代码)并将新页面设置为 FundraisingPage。然后,我包含了字段数组和 getCMSFields。我重建了数据库并刷新了缓存,但它没有向我显示后端中的字段。
感谢您的帮助。 亚历克斯
<?php
class FundraisingPage extends Page {
private static $db = array(
'fr_video_url' => 'Text',
'fr_form_url' => 'Text',
'fr_meter_url' => 'Text',
'fr_meter_url_employers' => 'Text',
'fr_meter_url_classes' => 'Text',
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Links', new TextField('fr_video_url', 'Video URL'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_form_url', 'Form URL'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url', 'Meter URL'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url_employers','Meter URL by employer'), 'Content');
$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url_classes', 'Meter URL by classes'), 'Content');
return $fields;
}
}
class FundraisingPage_Controller extends Page_Controller {
}
只需删除每个 addFieldToTab 末尾的“, 'Content'”。由于链接选项卡中没有内容字段,因此无法在 "Content".
之后添加字段$fields->addFieldToTab('Root.Links', new TextField('fr_meter_url_classes', 'Meter URL by classes'));