【发布时间】:2015-04-26 08:41:07
【问题描述】:
例如,在 SilverStripe 3.1 中,是否可以在 about 页面上添加不同的选项卡和字段。
然后是服务页面上的不同选项卡和字段。
关于页面 - 图片标签/附件标签
服务页面 - 图片选项卡/附件选项卡/员工人员选项卡
以下代码是一个示例。我在一个确实有效的 sn-p 周围添加了 if 语句。但它似乎只适用于所有页面,通过在所有页面上显示相同的选项卡。
我一直在 SilverStripe 网站上做视频课程,我可以看到你可以创建页面类型,但我真的需要知道你是否可以在不创建额外页面类型的情况下实现这一点。
// I want this on the about page
// if page=about {
class Page extends SiteTree {
private static $has_one = array (
'Photo' => 'image',
'Brochure' => 'file',
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Images', $photo = UploadField::create('Photo'));
$fields->addFieldToTab('Root.Attachments', $brochure = UploadField::create('Brochure'));
return $fields;
}
}
// I want this on the services page
// } elseif page=services {
class Page extends SiteTree {
private static $has_one = array (
'Photo' => 'image',
'Brochure' => 'file',
'Staff Person' => 'image',
);
public function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab('Root.Images', $photo = UploadField::create('Photo'));
$fields->addFieldToTab('Root.Attachments', $brochure = UploadField::create('Brochure'));
$fields->addFieldToTab('Root.Staff', $staff = UploadField::create('Staff'));
return $fields;
}
}
// }
class Page_Controller extends ContentController {
private static $allowed_actions = array();
public function init() {
parent::init();
}
}
【问题讨论】:
标签: silverstripe