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, biapar, Willr, Ingo, simon_w

ModelAdmin user error


Reply


2 Posts   3573 Views

Avatar
Howard

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:

ProductsHolder.php

<?php
class ProductsHolder extends Page {
static $allowed_children = array( 'Product' );
}

class ProductsHolder_Controller extends Page_Controller {
}
?>

Product.php

<?php

class Product extends DataObject {

static $db = array(
'Name' => 'Varchar',
'ProductCode' => 'Varchar',
'Description' => 'Text'
);

static $has_one = array(
'Category' => 'Category'
);

static $searchable_fields = array(
'Name',
'ProductCode'
);

}

?>


and MyCatalogAdmin.php

<?php

class MyCatalogAdmin extends ModelAdmin {

protected static $managed_models = array(
'Product'
);

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!

Avatar
jam13

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.