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.

Data Model Questions /

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

[SOLVED] Can't get GridField working in extended page

Go to End

3 Posts   780 Views


Community Member, 55 Posts

19 January 2014 at 12:22pm

Edited: 19/01/2014 12:25pm

Hi experts,
I'm extending a product page via DataExtension

class ProductPropertiesExtension extends DataExtension {
private static $has_many = array(
        'Accessories' => 'ProductAccessory'

with Accessory.php

class ProductAccessory extends DataObject {
    private static $db = array(
        'ProductID' => 'Int'
    private static $has_one = array(
        'Product' => 'Product'

The table ProductAccessory is created.

Then I try to add a grid field in my extension class with:
(the GridField is not yet configured correctly, it's just a test)

public function updateCMSFields(FieldList $fields) {
		// Create a default configuration for the new GridField, allowing record editing
        $config = GridFieldConfig_RelationEditor::create();
        // Set the names and data for our gridfield columns
            'Title' => 'Title'
        // Create a gridfield to hold the accessory relationship    
        $accessoriesField = new GridField(
            'Accessories', // Field name
            'Product', // Field title
            $this->Accessories(), // List of all related accessories
        // Create a tab named "Accessories" and add our field to it
        $fields->addFieldToTab('Root.Accessories', $accessoriesField); 

But then I get the error:
Call to undefined method ProductPropertiesExtension::Accessories() in /Applications/XAMPP/xamppfiles/htdocs/swipestripe-funds/code/Product.php on line 352

What am I doing wrong?

TIA Stephan


Forum Moderator, 5523 Posts

19 January 2014 at 10:16pm

Edited: 19/01/2014 10:16pm

Try $this->owner->Accessories() rather than $this->Accessories()


Community Member, 55 Posts

20 January 2014 at 1:25am

Thanks very much.
That solved my problem :-)