hchokshi / silverstripe-hasonefield
Edit a has_one relationship using the gridfield editor, triggered by clicking a button.
Installs: 1 577
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 25
Type:silverstripe-vendormodule
Requires
- silverstripe/framework: ^4.0
- silverstripe/vendor-plugin: ^1.0
This package is auto-updated.
Last update: 2022-02-01 13:14:16 UTC
README
Allows you to create a CMS button for creating and editing a single related object. It is actually a grid field, but just looks like a button.
Usage
In Warehouse.php context:
use SilverShop\HasOneField\HasOneButtonField; public function getCMSFields() { $fields = parent::getCMSFields(); if($this->Address()->exists()){ $fields->addFieldsToTab("Root.Main", array( ReadonlyField::create("add", "Address", $this->Address()->toString()) )); } $fields->removeByName("AddressID"); $fields->addFieldToTab("Root.Main", // $dataObject, 'RelationName', 'Optional title - would default to Relation Name' HasOneButtonField::create($this, "Address") //here! ); return $fields; }
You must pass through the parent context ($this), so that the has_one relationship can be set by the GridFieldDetailForm
.