Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Default values for SiteConfig extension


Reply


3 Posts   1131 Views

Avatar
aragonne

Community Member, 26 Posts

9 December 2010 at 10:57pm

Hi

Does anyone know how to set default values for the site config fields ... similar to:

static $defaults = array (...);

for DataObjects?

I tried using static $defaults in my SiteConfig extension but the values didn't get set.

class CustomSiteConfig extends DataObjectDecorator {

/**
* Defines the additional site configuration fields
*
* @return array
*/
function extraStatics() {
return array(
'db' => array(
'IsDisplayTestAskUs' => 'Boolean'
, 'IsDisplayFooterHoncode' => 'Boolean'
),
}

/**
* Displays the edit fields in the CMS
*
* @param FieldSet $fields
*/
public function updateCMSFields( $fields ) {
$fields->addFieldToTab( 'Root.Main', new CheckboxField( 'IsDisplayTestAskUs', 'Display Test Ask Us') );
$fields->addFieldToTab( 'Root.Main', new CheckboxField( 'IsDisplayFooterHoncode', 'Display Footer HON code') );
}

// not sure if this will work with SiteConfig fields
static $defaults = array (
'IsDisplayTestAskUs' => true
, 'IsDisplayFooterHoncode' => true
);
}

Thanks!

Avatar
Willr

Forum Moderator, 5513 Posts

10 December 2010 at 12:14pm

Because you are dealing with an extension (i.e the SiteConfig::$defaults won't call your static) you need to use the extension class extraStatics (like you have) and include the defaults there.

function extraStatics() {
return array(
'db' => array(
'IsDisplayTestAskUs' => 'Boolean' ,
'IsDisplayFooterHoncode' => 'Boolean'
),
'defaults' => array(
'IsDisplayTestAskUs' => true
));
}

Avatar
aragonne

Community Member, 26 Posts

10 December 2010 at 12:37pm

Thanks Willr! That did the trick.