Git Product home page Git Product logo

webbuilders-group-silverstripe-gridfielditemtype's Introduction

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.

webbuilders-group-silverstripe-gridfielditemtype's People

Contributors

undefinedoffset avatar rsmclaren avatar

Watchers

James Cloos avatar helpfulrobot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.