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've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Customising the CMS /

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

SS3:Extend Group


Go to End


13 Posts   4609 Views

Avatar
Reflektera

49 Posts

17 September 2012 at 4:50pm

Sad to say, the error still occurs in 3.0.2. :/

Avatar
Reflektera

49 Posts

23 September 2012 at 5:27am

Getting crazy over this. Would really need to upgrade to 3.0.2 but this problem makes it impossible. Tried again with a fresh install and db with the code that IOTI wrote, but I still get the singleton error. Also get the same error when I try to add a member trough the autocompleter field.

In the singleton function in core.php, I added a "echo $className" right in the beginning. The output contained 1 "Member" more in the 3.0 installation then in later. Don't know exactly what it means, but it should mean something, right?

If it something I do wrong, what could it be? I have no idea...

Avatar
Reflektera

49 Posts

23 September 2012 at 11:42pm

Update. If I comment line 186 out in Group.php it works as it should. The line reads:

$fields->push($idField = new HiddenField("ID"));

I changed it to a textfield and its value is set in all versions (3.0.X). Havn't done any estensive testing yet but I don't se any side effects so far.

So the question is, what does this line do and why is it messing with me?! To be continued...

Avatar
catcher

Community Member, 5 Posts

22 November 2013 at 6:11am

Old post, but I just encountered this.
Looks like the "ID" field name is in use, you can get around it by renaming that field.

Avatar
superk

Community Member, 2 Posts

26 November 2013 at 8:55am

Edited: 26/11/2013 8:56am

Hi,

I'm using the 3.1.2 version and was still looking for a solution. Finally I managed to find it.

I followed the stack trace and discovered that LeftAndMain.php was trying to retrieve the current page (currentPage) by calling

$this->getRecord()

The first thing that getRecord does is to detect the className property of the extension object.
This is done by querying the variable $site_tree

        public function getRecord($id) {
                $className = $this->stat('tree_class');
.
.
.

So I added $site_tree to my extension manager class:

class GroupModelAdmin extends ModelAdmin {

   public  static $tree_class = 'Group';
   public static $managed_models=array(
       'Group'
   );

   public static $url_segment='groupManager';
   public static $menu_title='Group Manager';

}

And that solved the problem....

Go to Top