I'm trying to create a widget that has a many_many relationship with a page type:
class RecipeWidget extends Widget {
static $many_many = array(
'FeaturedRecipes' => 'RecipePage'
);
class RecipePage extends Page {
static $belongs_many_many = array(
'RecipeWidgets' => 'RecipeWidget'
);
This seems to work (it creates the appropriate tables), so I tried to add a checkbox set to the CMSFields:
class RecipeWidget extends Widget {
...
function getCMSFields() {
$myRecipes = DataObject::get('RecipePage');
return new FieldSet(
new CheckboxSetField('FeaturedRecipes', '', $myRecipes)
);
...
which displays the checkbox set as requested. Unfortunately it doesn't save the selections :(
Am I doing something wrong, or does this Field not work within a Widget?