Adds type/class picking functionality to SilverStripe 3.0's GridField
PHP JavaScript Scheme CSS
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
code/gridfield
css
javascript
templates/Includes
.editorconfig
.gitattributes Added standard .gitattributes file Jan 16, 2016
.gitignore
.scrutinizer.yml
CHANGELOG.md
CODE-OF-CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
_config.php
composer.json

README.md

GridFieldItemType

Adds type/class picking functionality to SilverStripe 3.0's GridField. Use the 3.0 branch for compatability with SilverStripe 3.0.

Maintainer Contact

Requirements

  • SilverStripe 3.1.0+

Installation

  • Download the module from here https://github.com/webbuilders-group/silverstripe-gridfielditemtype/archive/master.zip
  • Extract the downloaded archive into your site root so that the destination folder is called GridFieldItemType, opening the extracted folder should contain _config.php in the root along with other files/folders
  • Run dev/build?flush=all to regenerate the manifest
  • Upon entering the cms and using GridFieldItemType components for the first time you make need to add ?flush=all to the end of the address to force the templates to regenerate

Usage

If you are working with one of the pre-configured GridFieldConfigs you must first remove the default GridFieldDetailForm and GridFieldAddNewButton components replacing them with ItemTypeDetailForm and AddNewItemTypeButton respectively

$config=GridFieldConfig_RecordEditor::create(10);
$config->removeComponentsByType('GridFieldAddNewButton');
$config->removeComponentsByType('GridFieldDetailForm');
$config->addComponent(new AddNewItemTypeButton($yourOptionsMap, 'buttons-before-left'));
$config->addComponent(new ItemTypeDetailForm());

If you are using the base GridField config you need to add both the AddNewItemTypeButton and ItemTypeDetailForm to your config

$config=GridFieldConfig_Base::create(10);
$config->addComponent(new AddNewItemTypeButton($yourOptionsMap, 'buttons-before-left'));
$config->addComponent(new ItemTypeDetailForm());

Note: All options in the type dropdown must be decendents of the model class.