Skip to content

glenn-bautista/silverstripe-versioneddataobjects

 
 

Repository files navigation

SilverStripe Versioned DataObjects

Provides Versioned DataObjects and CMS publishing buttons in SilverStripe

Installation (with composer)

$ composer require heyday/silverstripe-versioneddataobjects

BetterButtons Integration

This module works with unclecheese/betterbuttons version 1.2.8

Example

Versioned DataObject Example Versioned DataObject Example 2

Usage

Slice.php

class Slice extends DataObject
{
    private static $has_one = array(
        'Parent' => 'SiteTree'
    );
    private static $extensions = array(
        'VersionedDataObject'
    );
}

Page.php

class Page extends SiteTree
{
    private static $has_many = array(
        'Slices' => 'Slice'
    );
    public function getCMSFields()
    {
        $fields = parent::getCMSFields();

        $fields->addFieldsToTab(
            'Root.Slices',
            new GridField(
                'Slices',
                'Slices',
                $this->Slices(),
                $config = GridFieldConfig_RelationEditor::create()
            )
        );

        $config->removeComponentsByType('GridFieldDetailForm');
        $config->addComponent(new VersionedDataObjectDetailsForm());

        return $fields;
    }
}

Unit testing

None :(

##License

SilverStripe Versioned DataObjects is licensed under an MIT license

About

Provides Versioned DataObjects in SilverStripe

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 83.7%
  • CSS 10.4%
  • JavaScript 5.7%
  • Scheme 0.2%