silverstripe-frameworktest/code/RelationFieldsTestPage.php

78 lines
2.7 KiB
PHP
Raw Normal View History

2008-10-03 00:05:45 +02:00
<?php
use SilverStripe\FrameworkTest\Model\TestCategory;
use SilverStripe\FrameworkTest\Model\TestPage;
use SilverStripe\FrameworkTest\Model\TestPage_Controller;
use SilverStripe\Forms\CheckboxSetField;
use SilverStripe\Forms\TreeDropdownField;
use SilverStripe\Forms\TreeMultiselectField;
2015-12-17 21:20:49 +01:00
class RelationFieldsTestPage extends TestPage
{
private static $table_name = 'RelationFieldsTestPage';
2015-12-17 21:20:49 +01:00
private static $has_one = array(
"HasOneCompany" => "SilverStripe\\FrameworkTest\\Model\\Company",
2016-08-16 06:38:31 +02:00
"HasOnePage" => "SilverStripe\\CMS\\Model\\SiteTree",
"HasOnePageWithSearch" => "SilverStripe\\CMS\\Model\\SiteTree",
2015-12-17 21:20:49 +01:00
);
private static $has_many = array(
"HasManyCompanies" => "SilverStripe\\FrameworkTest\\Model\\Company",
2016-08-16 06:38:31 +02:00
"HasManyPages" => "SilverStripe\\CMS\\Model\\SiteTree",
2015-12-17 21:20:49 +01:00
);
private static $many_many = array(
"ManyManyCompanies" => "SilverStripe\\FrameworkTest\\Model\\Company",
2016-08-16 06:38:31 +02:00
"ManyManyPages" => "SilverStripe\\CMS\\Model\\SiteTree",
2015-12-17 21:20:49 +01:00
);
2015-12-17 21:20:49 +01:00
private static $defaults = array(
'Title' => 'Relational Fields'
);
private static array $scaffold_cms_fields_settings = [
'ignoreFields' => [
'HasOneCompany',
],
'ignoreRelations' => [
'HasManyCompanies',
'ManyManyCompanies',
],
];
2015-12-17 21:20:49 +01:00
public function getCMSFields()
{
$fields = parent::getCMSFields();
2015-12-17 21:20:49 +01:00
$allFields = array();
2015-12-17 21:20:49 +01:00
$checkboxFields = array(
new CheckboxSetField("CheckboxSet", "CheckboxSetField", TestCategory::map())
);
$fields->addFieldsToTab("Root.CheckboxSet", $checkboxFields);
$allFields += $checkboxFields;
2015-12-17 21:20:49 +01:00
$treeFields = array(
2016-08-16 06:38:31 +02:00
TreeDropdownField::create('HasOnePageID', 'HasOnePage', 'SilverStripe\\CMS\\Model\\SiteTree'),
TreeDropdownField::create('HasOnePageWithSearchID', 'HasOnePageWithSearch', 'SilverStripe\\CMS\\Model\\SiteTree')->setShowSearch(true),
TreeMultiselectField::create('HasManyPages', 'HasManyPages', 'SilverStripe\\CMS\\Model\\SiteTree'),
TreeMultiselectField::create('ManyManyPages', 'ManyManyPages (with search)', 'SilverStripe\\CMS\\Model\\SiteTree')->setShowSearch(true)
2015-12-17 21:20:49 +01:00
);
$fields->addFieldsToTab('Root.Tree', $treeFields);
$allFields += $treeFields;
2015-12-17 21:20:49 +01:00
foreach ($allFields as $field) {
$field
->setDescription('This is <strong>bold</strong> help text')
->addExtraClass('cms-help');
// ->addExtraClass('cms-help cms-help-tooltip');
}
2015-12-17 21:20:49 +01:00
return $fields;
}
2008-10-03 00:05:45 +02:00
}
2015-12-17 21:20:49 +01:00
class RelationFieldsTestPage_Controller extends TestPage_Controller
{
2012-04-12 05:04:39 +02:00
}