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.

Archive /

Our old forums are still available as a read-only archive.

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

ModelAdmin user error

Go to End

2 Posts   4282 Views


Community Member, 215 Posts

16 December 2008 at 12:35am

Edited: 16/12/2008 12:44am

Hi guys,

I am looking into how to use modeladmin now that there is some documentation to it.

I have done a clean install from the 2.3 branch then created 3 files in mysite/code:


class ProductsHolder extends Page {
    static $allowed_children = array( 'Product' );
class ProductsHolder_Controller extends Page_Controller {


class Product extends DataObject {
   static $db = array(
      'Name' => 'Varchar',
      'ProductCode' => 'Varchar',
      'Description' => 'Text'
   static $has_one = array(
      'Category' => 'Category'
   static $searchable_fields = array(


and MyCatalogAdmin.php

class MyCatalogAdmin extends ModelAdmin {
  protected static $managed_models = array(
  static $url_segment = 'products'; // will be linked as /admin/products
  static $menu_title = 'My Product Admin';


After db build I log into the admin and am able to select "My Product Admin" which then appears to load fine until I click on "Create 'Product'" it shows an error message:

Error: "Bad class to singleton() - Category" at line 263 of /Users/Howard/Desktop/localhost/jdmnz/sapphire/core/Core.php

the line from core.php in question reads:

if(!class_exists($className)) user_error("Bad class to singleton() - $className", E_USER_ERROR);

Any help would be greatly appreciated!


121 Posts

16 December 2008 at 1:38am

Think your problem might be here:

static $allowed_children = array( 'Product' );

Product is not derived from SiteTree, so I don't think this will work.