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.

All other Modules /

Discuss all other Modules here.

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

Extending LeftAndMain Help

Go to End



Community Member, 1 Post

30 November 2009 at 1:20am

Hi Guys,

I've used the forums for a while for information and this is the first time I've had to post, I'm attempting to write a new LeftAndMain module for managing some data.

What I'm trying to get tested and working is a complextablefield in a new tab in the right panel, I'm wanting to use it to manage data from a dataobject. I'm coming across the following error and after an hour or so of browsing I have no idea what I'm doing wrong.

Fatal error: Call to a member function FormAction() on a non-object in H:\www\\sapphire\forms\FormField.php on line 88



class JobsAdmin extends LeftAndMain {
static $url_segment = 'jobs';
static $menu_title = 'Jobs Administration';

static $has_many = array (



public static $managed_models = array(

function init() {

function showForm() {

/*$fields = parent::getCMSFields();

$jobs = new HasManyComplexTableField($this, 'Jobs', 'Jobs', array("Title"=>"Job Title","Location"=>"Job Location","Approved"=>"Approved for viewing"));


return $fields;*/
return new TabSet(
$name = "TheTabSetName",
new Tab(
$title='Tab one',
new HeaderField("A header"),
new LiteralField("Lipsum","Lorem ipsum dolor sit amet enim.")
new Tab(
$title='Tab two',
new HeaderField("A second header"),
new LiteralField("Lipsum","Ipsum dolor sit amet enim."),
new ComplexTableField(
$controller = $this,
$name = "Jobs",
$sourceClass = "Job",
$fieldList = array(
"Title"=>"Job Title",
"Location"=>"Job Location",
"Approved"=>"Approved for viewing"
$callThisFunctionForPopupFields = "getCMSFields_forPopup",
$sourceFilter = "",
$sourceSort = ""





class Job extends DataObject {

static $db = array (

function getCMSFields_forPopup() {
return new FieldSet(
new TextField('Title', 'Job Title'),
new TextareaField('Description', 'Job Description'),
new CheckboxField("Approved", "Job Approved")




I was going to use a has_many type until I noticed that the way I wanted things done I would have no has_one, so I though the complextablefield would be the way forward.

Can anyone shed any light on my stupidity?

Thanks in advance,