Experimental module looking at how we could implement a link field and a link data object.
Installation via composer.
composer require silverstripe/linkfield 1.x-dev
composer require silverstripe/linkfield 2.x-dev
You may need to add the repository URL into your composer.json
via the repositories
field (example below).
"repositories": {
"silverstripe/linkfield": {
"type": "git",
"url": "https://github.com/silverstripe/silverstripe-linkfield.git"
}
},
<?php
use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Link\DBLink;
use SilverStripe\Link\Link;
use SilverStripe\Link\LinkField;
class Page extends SiteTree
{
private static $db = [
'DbLink' => DBLink::class
];
private static $has_one = [
'HasOneLink' => Link::class,
];
public function getCMSFields()
{
$fields = parent::getCMSFields();
$fields->insertBefore('Title', LinkField::create('HasOneLink'));
$fields->insertBefore('Title', LinkField::create('DbLink'));
return $fields;
}
}