'Blog', ); /** * {@inheritdoc} */ public function getCMSFields() { $this->beforeUpdateCMSFields(function ($fields) { /** * @var FieldList $fields */ $fields->push( DropdownField::create('BlogID', _t('BlogCategoriesWidget.Blog', 'Blog'), Blog::get()->map()) ); }); return parent::getCMSFields(); } /** * @return array */ public function getCategories() { if($blog = $this->Blog()) { return $blog->Categories(); } return array(); } } class BlogCategoriesWidget_Controller extends Widget_Controller { }