silverstripe-frameworktest/code/linkfield/Extensions/ElementContentExtension.php

47 lines
1.0 KiB
PHP

<?php
namespace SilverStripe\FrameworkTest\LinkField\Extensions;
use SilverStripe\Core\Extension;
use SilverStripe\LinkField\Models\Link;
use SilverStripe\LinkField\Models\EmailLink;
use SilverStripe\LinkField\Models\PhoneLink;
use SilverStripe\LinkField\Models\SiteTreeLink;
class ElementContentExtension extends Extension
{
private static bool $inline_editable = true;
private static array $has_one = [
'OneLink' => Link::class,
];
private static $has_many = [
'ManyLinks' => Link::class . '.Owner',
];
private static array $owns = [
'OneLink',
'ManyLinks',
];
private static array $cascade_deletes = [
'OneLink',
'ManyLinks',
];
private static array $cascade_duplicates = [
'OneLink',
'ManyLinks',
];
protected function updateCMSFields($fields)
{
$fields->dataFieldByName('OneLink')->setAllowedTypes([
SiteTreeLink::class,
EmailLink::class,
PhoneLink::class
]);
}
}