-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathContentImageSplitBlock.php
More file actions
138 lines (123 loc) · 2.77 KB
/
ContentImageSplitBlock.php
File metadata and controls
138 lines (123 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<?php
namespace Syntro\ElementalBootstrapBlocks\Element;
use SilverStripe\Assets\Image;
use SilverStripe\Forms\FieldList;
use SilverStripe\AssetAdmin\Forms\UploadField;
use DNADesign\Elemental\Models\ElementContent;
use Syntro\ElementalBootstrapBlocks\Extension\SplitRatioExtension;
/**
* Description
*
* @author Matthias Leutenegger
*/
class ContentImageSplitBlock extends ElementContent
{
/**
* Defines the database table name
* @config
* @var string
*/
private static $table_name = 'BlockContentImageSplit';
/**
* Singular name for CMS
* @config
* @var string
*/
private static $singular_name = 'Content & Image Split Block';
/**
* Plural name for CMS
* @config
* @var string
*/
private static $plural_name = 'Content & Image Split Blocks';
/**
* Defines extension names and parameters to be applied
* to this object upon construction.
* @config
* @var array
*/
private static $extensions = [
SplitRatioExtension::class
];
/**
* @config
* @var bool
*/
private static $inline_editable = true;
/**
* Display a show title button
*
* @config
* @var boolean
*/
private static $displays_title_in_template = false;
/**
* @config
* @var string
*/
private static $icon = 'font-icon-block-promo-3';
/**
* available styles
* @config
* @var array
*/
private static $styles = [
'leftimage' => 'Image on the left',
'rightimage' => 'Image on the right'
];
/**
* Database fields
* @config
* @var array
*/
private static $db = [];
/**
* Add default values to database
* @config
* @var array
*/
private static $defaults = [];
/**
* Has_one relationship
* @config
* @var array
*/
private static $has_one = [
'Image' => Image::class,
];
/**
* Relationship version ownership
* @config
* @var array
*/
private static $owns = [
'Image'
];
/**
* CMS Fields
* @return FieldList
*/
public function getCMSFields()
{
$fields = parent::getCMSFields();
/** @var UploadField $imageField */
$imageField = $fields->fieldByName('Root.Main.Image');
$imageField->setTitle(_t(__CLASS__ . '.IMAGETITLE', 'Image'));
$imageField->setFolderName('Elements/ContentImageSplit');
$fields->addFieldToTab(
'Root.Main',
$imageField,
'HTML'
);
return $fields;
}
/**
* getType
*
* @return string
*/
public function getType()
{
return _t(__CLASS__ . '.BlockType', 'Image & Content Split');
}
}