2024-02-13 02:27:18 +01:00
|
|
|
<?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',
|
|
|
|
];
|
|
|
|
|
2024-05-16 07:30:44 +02:00
|
|
|
protected function updateCMSFields($fields)
|
2024-02-13 02:27:18 +01:00
|
|
|
{
|
2024-06-26 23:45:08 +02:00
|
|
|
$fields->dataFieldByName('OneLink')->setAllowedTypes([
|
|
|
|
SiteTreeLink::class,
|
|
|
|
EmailLink::class,
|
|
|
|
PhoneLink::class
|
|
|
|
]);
|
2024-02-13 02:27:18 +01:00
|
|
|
}
|
|
|
|
}
|