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.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

General Questions /

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

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

Newbie Question: CheckboxSetField

Go to End

3 Posts   2640 Views


Community Member, 24 Posts

28 June 2010 at 4:00pm

Edited: 24/08/2010 3:11am

class Test extends Page {
static $db = array(
static $has_one = array(

function getCMSFields() {
$fields = parent::getCMSFields();

new CheckboxSetField(
$name = "topics",
$title = "I am interested in the following topics",
$source = array(
"1" => "Technology",
"2" => "Gardening",
"3" => "Cooking",
"4" => "Sports"
$value = "1"

return $fields;


I realize this is a very basic question, but I am new to silverstripe and I am stumped.

How do I declare the variable "topics", as it stands, the checkboxes appear fine in the admin part, but I can't save them (they always revert back to the default value) nor display results.


Forum Moderator, 238 Posts

28 June 2010 at 6:40pm

Edited: 28/06/2010 6:41pm

Hi tonito,
Try adding a database field to save the selection into. Your $db array becomes:

static $db = array(
'topics' => 'Varchar'

Because your checkboxsetfield also has the name 'topics' , the data will be saved into the 'topics' database field for each test page.

Chances are you'll be wanting to do something more advanced than that. You should learn about the SilverStripe datamodel , perhaps also go through the tutorials.


Community Member, 24 Posts

23 August 2010 at 11:50am

Edited: 24/08/2010 3:35pm

Thank you it's what I needed.