silverstripe-cms/code/Controllers/CMSPageSettingsController.php

39 lines
1.1 KiB
PHP
Raw Normal View History

<?php
2016-07-22 11:32:32 +12:00
namespace SilverStripe\CMS\Controllers;
use SilverStripe\Forms\Form;
use SilverStripe\Model\ArrayData;
2017-01-26 09:59:25 +13:00
class CMSPageSettingsController extends CMSMain
{
2017-01-26 09:59:25 +13:00
private static $url_segment = 'pages/settings';
2016-08-10 16:08:39 +12:00
2017-01-26 09:59:25 +13:00
private static $url_rule = '/$Action/$ID/$OtherID';
2016-08-10 16:08:39 +12:00
2017-01-26 09:59:25 +13:00
private static $url_priority = 42;
2016-08-10 16:08:39 +12:00
2017-01-26 09:59:25 +13:00
private static $required_permission_codes = 'CMS_ACCESS_CMSMain';
2015-09-29 17:18:03 +13:00
public function getEditForm($id = null, $fields = null): Form
2017-01-26 09:59:25 +13:00
{
$record = $this->getRecord($id ?: $this->currentRecordID());
// @TODO ideally settings isn't its own special thing...
// can we refactor this so it's just another tab in the main form? And just have it lazyload or something?
// At the very least this tab must NOT appear if there are no fields for it.
if ($record && $record->hasMethod('getSettingsFields')) {
$fields = $record->getSettingsFields();
} else {
$fields = null;
}
return parent::getEditForm($id, $fields);
2017-01-26 09:59:25 +13:00
}
public function getTabIdentifier()
{
return 'settings';
}
}