FieldList
class FieldList extends ArrayList
A list designed to hold form field instances.
Properties
string | $class | from SS_Object |
Methods
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Create an object from a string representation. It treats it as a PHP constructor without the 'new' keyword. It also manages to construct the object without the use of eval().
Parses a class-spec, such as "Versioned('Stage','Live')", as passed to create_from_string().
Similar to {@link Object::create()}, except that classes are only overloaded if you set the $strong parameter to TRUE when using {@link Object::useCustomClass()}
This class allows you to overload classes with other classes when they are constructed using the factory method {@link Object::create()}
If a class has been overloaded, get the class name it has been overloaded with - otherwise return the class name
Get the value of a static property of a class, even in that property is declared protected (but not private), without any inheritance, merging or parent lookup if it doesn't exist on the given class.
Return TRUE if a class has a specified extension.
Add an extension to a specific class.
No description
No description
Attemps to locate and call a method dynamically added to a class at runtime if a default cannot be located
Return the names of all the methods available on this object
Check if this class is an instance of a specific class, or has that class as one of its parents
Calls a method if available on both this object and all applied {@link Extensions}, and then attempts to merge all results into an array
Run the given function on all of this object's extensions. Note that this method originally returned void, so if you wanted to return results, you're hosed
Get an extension instance attached to this object by name.
Returns TRUE if this object instance has a specific extension applied in {@link $extension_instances}. Extension instances are initialized at constructor time, meaning if you use {@link add_extension()} afterwards, the added extension will just be added to new instances of the extended class. Use the static method {@link has_extension()} to check if a class (not an instance) has a specific extension.
Get all extension instances for this specific object instance.
Cache the results of an instance method in this object to a file, or if it is already cache return the cached results
Clears the cache for the given cacheToFile call
Converts a field spec into an object creator. For example: "Int" becomes "new Int($fieldName);" and "Varchar(50)" becomes "new Varchar($fieldName, 50);".
Convert a field schema (e.g. "Varchar(50)") into a casting object creator array that contains both a className and castingHelper constructor code. See {@link castingObjectCreator} for more information about the constructor.
Check if a field exists on this object or its failover.
Get the value of a property/field on this object. This will check if a method called get{$property} exists, then check if a field is available using {@link ViewableData::getField()}, then fall back on a failover object.
Set a property/field on this object. This will check for the existence of a method called set{$property}, then use the {@link ViewableData::setField()} method.
Set a failover object to attempt to get data from if it is not present on this object.
Check if a field exists on this object. This should be overloaded in child classes.
Get the value of a field on this object. This should be overloaded in child classes.
Set a field on this object. This should be overloaded in child classes.
Add methods from the {@link ViewableData::$failover} object, as well as wrapping any methods prefixed with an underscore into a {@link ViewableData::cachedCall()}.
Method to facilitate deprecation of underscore-prefixed methods automatically being cached.
Merge some arbitrary data in with this object. This method returns a {@link ViewableData_Customised} instance with references to both this and the new custom data.
Get the class a field on this object would be casted to, as well as the casting helper for casting a field to an object (see {@link ViewableData::castingHelper()} for information on casting helpers).
Return the "casting helper" (a piece of PHP code that when evaluated creates a casted value object) for a field on this object.
Get the class name a field on this object will be casted to
Return the string-format type for the given field.
Save the casting cache for this object (including data from any failovers) into a variable
Render this object into the template, and get the result as a string. You can pass one of the following as the $template parameter: - a template name (e.g. Page) - an array of possible template names - the first valid one will be used - an SSViewer instance
Get the value of a field on this object, automatically inserting the value into any available casting objects that have been specified.
A simple wrapper around {@link ViewableData::obj()} that automatically caches the result so it can be used again without re-running the method.
Checks if a given method/field has a valid value. If the result is an object, this will return the result of the exists method, otherwise will check if the result is not just an empty paragraph tag.
Get the string value of a field on this object that has been suitable escaped to be inserted directly into a template.
Return the value of the field without any escaping being applied.
Return the value of a field in an SQL-safe format.
Return the value of a field in a JavaScript-save format.
Return the value of a field escaped suitable to be inserted into an XML node attribute.
When rendering some objects it is necessary to iterate over the object being rendered, to do this, you need access to itself.
Return the directory if the current active theme (relative to the site root).
Get part of the current classes ancestry to be used as a CSS class.
Return debug information about this object that can be rendered into a template
Return the class of items in this list, by looking at the first item inside it.
Return this list as an array and every object it as an sub array as well
Replaces an item in this list with another item.
Merges with another array or list by pushing all the items in it onto the end of this list.
Removes items from this list which have a duplicate value for a certain field. This is especially useful when combining lists.
Push a single field onto the end of this FieldList instance.
Push a single field onto the beginning of this FieldList instance.
Returns a map of this list
Find the first item of this list where the given key = value
Returns an array of a single field value for all items in the list.
Sorts this list by one or more fields. You can either pass in a single field name and direction, or a map of field names to sort directions.
Returns true if the given column can be used to filter the records.
Return a copy of this list which contains items matching any of these charactaristics.
Return a sequential set of all fields that have data. This excludes wrapper composite fields as well as heading / help text fields.
No description
Add an extra field to a tab within this FieldList.
Add a number of extra fields to a tab within this FieldList.
Remove the given field from the given tab in the field.
Removes a number of fields from a Tab/TabSet within this FieldList.
Remove a field or fields from this FieldList by Name.
Replace a single field with another. Ignores dataless fields such as Tabs and TabSets
Rename the title of a particular field name in this set.
No description
Returns the specified tab object, creating it if necessary.
Returns a named field.
Returns a named field in a sequential set.
Inserts a field before a particular field in a FieldList.
Load the given data into this form.
Return all fields in a form - including fields nested in {@link CompositeFields}.
Return all fields except for the hidden fields.
Transform this FieldList with a given tranform method, e.g. $this->transform(new ReadonlyTransformation())
Returns the root field set that this belongs to
No description
Transforms this FieldList instance to readonly.
Change the order of fields in this FieldList by specifying an ordered list of field names.
Find the numerical position of a field within the children collection. Doesn't work recursively.
Ordered list of regular expressions matching a tab path, to their rewrite rule (through preg_replace()).
No description
Default template rendering of a FieldList will concatenate all FieldHolder values.
Details
in SS_Object at line 60
static Config_ForClass|null
config()
Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .
....).
in SS_Object at line 132
static SS_Object
create()
An implementation of the factory method, allows you to create an instance of a class
This method first for strong class overloads (singletons & DB interaction), then custom class overloads. If an overload is found, an instance of this is returned rather than the original class. To overload a class, use {@link Object::useCustomClass()}
This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create('SiteTree'); $list = SiteTree::get();
in SS_Object at line 155
static SS_Object
singleton()
Creates a class instance by the "singleton" design pattern.
It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).
in SS_Object at line 190
static
create_from_string($classSpec, $firstArg = null)
Create an object from a string representation. It treats it as a PHP constructor without the 'new' keyword. It also manages to construct the object without the use of eval().
Construction itself is done with Object::create(), so that Object::useCustomClass() calls are respected.
Object::create_from_string("Versioned('Stage','Live')")
will return the result of
Versioned::create('Stage', 'Live);
It is designed for simple, clonable objects. The first time this method is called for a given string it is cached, and clones of that object are returned.
If you pass the $firstArg argument, this will be prepended to the constructor arguments. It's impossible to pass null as the firstArg argument.
Object::create_from_string("Varchar(50)", "MyField")
will return the result of
Vachar::create('MyField', '50');
Arguments are always strings, although this is a quirk of the current implementation rather than something that can be relied upon.
in SS_Object at line 215
static
parse_class_spec($classSpec)
Parses a class-spec, such as "Versioned('Stage','Live')", as passed to create_from_string().
Returns a 2-elemnent array, with classname and arguments
in SS_Object at line 341
static SS_Object
strong_create()
Similar to {@link Object::create()}, except that classes are only overloaded if you set the $strong parameter to TRUE when using {@link Object::useCustomClass()}
in SS_Object at line 361
static
useCustomClass(string $oldClass, string $newClass, bool $strong = false)
This class allows you to overload classes with other classes when they are constructed using the factory method {@link Object::create()}
in SS_Object at line 375
static string
getCustomClass(string $class)
If a class has been overloaded, get the class name it has been overloaded with - otherwise return the class name
in SS_Object at line 396
static any
static_lookup($class, $name, null $default = null)
Get the value of a static property of a class, even in that property is declared protected (but not private), without any inheritance, merging or parent lookup if it doesn't exist on the given class.
in SS_Object at line 436
static
get_static($class, $name, $uncached = false)
deprecated
deprecated
in SS_Object at line 444
static
set_static($class, $name, $value)
deprecated
deprecated
in SS_Object at line 452
static
uninherited_static($class, $name, $uncached = false)
deprecated
deprecated
in SS_Object at line 460
static
combined_static($class, $name, $ceiling = false)
deprecated
deprecated
in SS_Object at line 470
static
addStaticVars($class, $properties, $replace = false)
deprecated
deprecated
in SS_Object at line 478
static
add_static_var($class, $name, $value, $replace = false)
deprecated
deprecated
in SS_Object at line 494
static
has_extension(string $classOrExtension, string $requiredExtension = null, boolean $strict = false)
Return TRUE if a class has a specified extension.
This supports backwards-compatible format (static Object::has_extension($requiredExtension)) and new format ($object->has_extension($class, $requiredExtension))
in SS_Object at line 536
static
add_extension(string $classOrExtension, string $extension = null)
Add an extension to a specific class.
The preferred method for adding extensions is through YAML config, since it avoids autoloading the class, and is easier to override in more specific configurations.
As an alternative, extensions can be added to a specific class directly in the {@link Object::$extensions} array. See {@link SiteTree::$extensions} for examples. Keep in mind that the extension will only be applied to new instances, not existing ones (including all instances created through {@link singleton()}).
in SS_Object at line 594
static
remove_extension(string $extension)
Remove an extension from a class.
Keep in mind that this won't revert any datamodel additions of the extension at runtime, unless its used before the schema building kicks in (in your _config.php). Doesn't remove the extension from any {@link Object} instances which are already created, but will have an effect on new extensions. Clears any previously created singletons through {@link singleton()} to avoid side-effects from stale extension information.
in SS_Object at line 633
static array
get_extensions(string $class, bool $includeArgumentString = false)
in SS_Object at line 655
static
get_extra_config_sources($class = null)
at line 35
__construct(array $items = array())
in SS_Object at line 725
mixed
__call(string $method, array $arguments)
Attemps to locate and call a method dynamically added to a class at runtime if a default cannot be located
You can add extra methods to a class using {@link Extensions}, {@link Object::createMethod()} or {@link Object::addWrapperMethod()}
in SS_Object at line 792
bool
hasMethod(string $method)
Return TRUE if a method exists on this object
This should be used rather than PHP's inbuild method_exists() as it takes into account methods added via extensions
in SS_Object at line 802
array
allMethodNames(bool $custom = false)
Return the names of all the methods available on this object
in SS_Object at line 963
stat($name, $uncached = false)
in SS_Object at line 970
set_stat($name, $value)
in SS_Object at line 977
uninherited($name)
in ArrayList at line 58
bool
exists()
Returns true if this list has items
in SS_Object at line 998
string
parentClass()
in SS_Object at line 1008
bool
is_a(string $class)
Check if this class is an instance of a specific class, or has that class as one of its parents
in SS_Object at line 1015
string
__toString()
in SS_Object at line 1030
mixed
invokeWithExtensions(string $method, mixed $argument = null)
Calls a method if available on both this object and all applied {@link Extensions}, and then attempts to merge all results into an array
in SS_Object at line 1058
array
extend(string $method, mixed $a1 = null, mixed $a2 = null, mixed $a3 = null, mixed $a4 = null, mixed $a5 = null, mixed $a6 = null, mixed $a7 = null)
Run the given function on all of this object's extensions. Note that this method originally returned void, so if you wanted to return results, you're hosed
Currently returns an array, with an index resulting every time the function is called. Only adds returns if they're not NULL, to avoid bogus results from methods just defined on the parent extension. This is important for permission-checks through extend, as they use min() to determine if any of the returns is FALSE. As min() doesn't do type checking, an included NULL return would fail the permission checks.
The extension methods are defined during {@link __construct()} in {@link defineMethods()}.
in SS_Object at line 1097
Extension
getExtensionInstance(string $extension)
Get an extension instance attached to this object by name.
in SS_Object at line 1115
bool
hasExtension(string $extension)
Returns TRUE if this object instance has a specific extension applied in {@link $extension_instances}. Extension instances are initialized at constructor time, meaning if you use {@link add_extension()} afterwards, the added extension will just be added to new instances of the extended class. Use the static method {@link has_extension()} to check if a class (not an instance) has a specific extension.
Caution: Don't use singleton(
in SS_Object at line 1126
array
getExtensionInstances()
Get all extension instances for this specific object instance.
See {@link get_extensions()} to get all applied extension classes for this class (not the instance).
in SS_Object at line 1142
mixed
cacheToFile(string $method, int $lifetime = 3600, string $ID = false, array $arguments = array())
Cache the results of an instance method in this object to a file, or if it is already cache return the cached results
in SS_Object at line 1171
clearCache($method, $ID = false, $arguments = array())
Clears the cache for the given cacheToFile call
in ViewableData at line 72
static string
castingObjectCreator(string $fieldSchema)
Converts a field spec into an object creator. For example: "Int" becomes "new Int($fieldName);" and "Varchar(50)" becomes "new Varchar($fieldName, 50);".
in ViewableData at line 83
static array
castingObjectCreatorPair(string $fieldSchema)
Convert a field schema (e.g. "Varchar(50)") into a casting object creator array that contains both a className and castingHelper constructor code. See {@link castingObjectCreator} for more information about the constructor.
in ViewableData at line 95
bool
__isset(string $property)
Check if a field exists on this object or its failover.
in ViewableData at line 117
mixed
__get(string $property)
Get the value of a property/field on this object. This will check if a method called get{$property} exists, then check if a field is available using {@link ViewableData::getField()}, then fall back on a failover object.
in ViewableData at line 138
__set(string $property, mixed $value)
Set a property/field on this object. This will check for the existence of a method called set{$property}, then use the {@link ViewableData::setField()} method.
in ViewableData at line 151
setFailover(ViewableData $failover)
Set a failover object to attempt to get data from if it is not present on this object.
in ViewableData at line 166
ViewableData|null
getFailover()
Get the current failover object if set
in ViewableData at line 176
bool
hasField(string $field)
Check if a field exists on this object. This should be overloaded in child classes.
in ViewableData at line 186
mixed
getField(string $field)
Get the value of a field on this object. This should be overloaded in child classes.
in ViewableData at line 196
setField(string $field, mixed $value)
Set a field on this object. This should be overloaded in child classes.
in ViewableData at line 206
defineMethods()
Add methods from the {@link ViewableData::$failover} object, as well as wrapping any methods prefixed with an underscore into a {@link ViewableData::cachedCall()}.
in ViewableData at line 236
unknown
deprecatedCachedCall($method, $args = null, $identifier = null)
Method to facilitate deprecation of underscore-prefixed methods automatically being cached.
in ViewableData at line 255
ViewableData_Customised
customise(array|ViewableData $data)
Merge some arbitrary data in with this object. This method returns a {@link ViewableData_Customised} instance with references to both this and the new custom data.
Note that any fields you specify will take precedence over the fields on this object.
in ViewableData at line 272
ViewableData
getCustomisedObj()
in ViewableData at line 279
setCustomisedObj(ViewableData $object)
in ViewableData at line 296
array
castingHelperPair(string $field)
Get the class a field on this object would be casted to, as well as the casting helper for casting a field to an object (see {@link ViewableData::castingHelper()} for information on casting helpers).
The returned array contains two keys: - className: the class the field would be casted to (e.g. "Varchar") - castingHelper: the casting helper for casting the field (e.g. "return new Varchar($fieldName)")
in ViewableData at line 308
string
castingHelper(string $field)
Return the "casting helper" (a piece of PHP code that when evaluated creates a casted value object) for a field on this object.
in ViewableData at line 331
string
castingClass(string $field)
Get the class name a field on this object will be casted to
in ViewableData at line 346
string
escapeTypeForField(string $field)
Return the string-format type for the given field.
in ViewableData at line 357
buildCastingCache(reference $cache)
Save the casting cache for this object (including data from any failovers) into a variable
in ViewableData at line 394
HTMLText
renderWith(string|array|SSViewer $template, array $customFields = null)
Render this object into the template, and get the result as a string. You can pass one of the following as the $template parameter: - a template name (e.g. Page) - an array of possible template names - the first valid one will be used - an SSViewer instance
in ViewableData at line 456
obj(string $fieldName, array $arguments = null, bool $forceReturnedObject = true, bool $cache = false, string $cacheName = null)
Get the value of a field on this object, automatically inserting the value into any available casting objects that have been specified.
in ViewableData at line 503
cachedCall(string $field, array $arguments = null, string $identifier = null)
A simple wrapper around {@link ViewableData::obj()} that automatically caches the result so it can be used again without re-running the method.
in ViewableData at line 516
bool
hasValue(string $field, array $arguments = null, bool $cache = true)
Checks if a given method/field has a valid value. If the result is an object, this will return the result of the exists method, otherwise will check if the result is not just an empty paragraph tag.
in ViewableData at line 538
XML_val($field, $arguments = null, $cache = false)
Get the string value of a field on this object that has been suitable escaped to be inserted directly into a template.
in ViewableData at line 546
RAW_val($field, $arguments = null, $cache = true)
Return the value of the field without any escaping being applied.
in ViewableData at line 553
SQL_val($field, $arguments = null, $cache = true)
Return the value of a field in an SQL-safe format.
in ViewableData at line 560
JS_val($field, $arguments = null, $cache = true)
Return the value of a field in a JavaScript-save format.
in ViewableData at line 567
ATT_val($field, $arguments = null, $cache = true)
Return the value of a field escaped suitable to be inserted into an XML node attribute.
in ViewableData at line 579
array
getXMLValues($fields)
Get an array of XML-escaped values by field name
in ArrayList at line 68
ArrayIterator
getIterator()
Returns an Iterator for this ArrayList.
This function allows you to use ArrayList in foreach loops
in ViewableData at line 611
ViewableData
Me()
When rendering some objects it is necessary to iterate over the object being rendered, to do this, you need access to itself.
in ViewableData at line 627
string
ThemeDir(string $subtheme = false)
Return the directory if the current active theme (relative to the site root).
This method is useful for things such as accessing theme images from your template without hardcoding the theme
page - e.g. .
This method should only be used when a theme is currently active. However, it will fall over to the current project directory.
in ViewableData at line 648
string
CSSClasses(string $stopAtClass = 'ViewableData')
Get part of the current classes ancestry to be used as a CSS class.
This method returns an escaped string of CSS classes representing the current classes ancestry until it hits a stop point - e.g. "Page DataObject ViewableData".
in ViewableData at line 671
ViewableData_Debugger
Debug()
Return debug information about this object that can be rendered into a template
in ArrayList at line 40
dataClass()
Return the class of items in this list, by looking at the first item inside it.
in ArrayList at line 49
int
count()
Return the number of items in this list
in ArrayList at line 80
array
toArray()
Return an array of the actual items that this ArrayList contains.
in ArrayList at line 90
mixed
each(callable $callback)
Walks the list using the specified callback
in ArrayList at line 96
debug()
in ArrayList at line 110
array
toNestedArray()
Return this list as an array and every object it as an sub array as well
in ArrayList at line 135
SS_Limitable
limit($length, $offset)
Get a sub-range of this dataobjectset as an array
in ArrayList at line 151
add(mixed $item)
Add this $item into this list
in ArrayList at line 160
remove(mixed $item)
Remove this item from this list
in ArrayList at line 178
void;
replace(array|object $item, array|object $with)
Replaces an item in this list with another item.
in ArrayList at line 193
merge(array|object $with)
Merges with another array or list by pushing all the items in it onto the end of this list.
in ArrayList at line 203
removeDuplicates(string $field = 'ID')
Removes items from this list which have a duplicate value for a certain field. This is especially useful when combining lists.
at line 435
push(array|object $item)
Push a single field onto the end of this FieldList instance.
in ArrayList at line 235
array|object
pop()
Pops the last element off the end of the list and returns it.
at line 447
unshift(array|object $item)
Push a single field onto the beginning of this FieldList instance.
in ArrayList at line 253
array|object
shift()
Shifts the item off the beginning of the list and returns it.
in ArrayList at line 262
mixed
first()
Returns the first item in the list
in ArrayList at line 271
mixed
last()
Returns the last item in the list
in ArrayList at line 282
array
map(string $keyfield = 'ID', string $titlefield = 'Title')
Returns a map of this list
in ArrayList at line 302
mixed
find(string $key, mixed $value)
Find the first item of this list where the given key = value
in ArrayList at line 316
array
column(string $colName = 'ID')
Returns an array of a single field value for all items in the list.
in ArrayList at line 332
bool
canSortBy(string $by)
You can always sort a ArrayList
in ArrayList at line 341
SS_Sortable
reverse()
Reverses an {@link ArrayList}
in ArrayList at line 398
SS_Sortable
sort()
Sorts this list by one or more fields. You can either pass in a single field name and direction, or a map of field names to sort directions.
Note that columns may be double quoted as per ANSI sql standard
in ArrayList at line 471
bool
canFilterBy(string $by)
Returns true if the given column can be used to filter the records.
It works by checking the fields available in the first record of the list.
in ArrayList at line 493
SS_Filterable
filter()
Filter the list to include items with these charactaristics
in ArrayList at line 535
DataList
filterAny()
Return a copy of this list which contains items matching any of these charactaristics.
in ArrayList at line 595
ArrayList
byIDs(array $ids)
Filter this list to only contain the given Primary IDs
in ArrayList at line 600
byID($id)
in ArrayList at line 617
SS_Filterable
filterByCallback($callback)
in ArrayList at line 646
SS_Filterable
exclude()
Exclude the list to not contain items with these charactaristics
in ArrayList at line 687
bool
offsetExists($offset)
Returns whether an item with $key exists
in ArrayList at line 697
DataObject
offsetGet($offset)
Returns item stored in list with index $key
in ArrayList at line 707
offsetSet($offset, $value)
Set an item with the key in $key
in ArrayList at line 720
offsetUnset($offset)
Unset an item with the key in $key
at line 53
array
dataFields()
Return a sequential set of all fields that have data. This excludes wrapper composite fields as well as heading / help text fields.
at line 63
array
saveableFields()
at line 117
addFieldToTab(string $tabName, FormField $field, string $insertBefore = null)
Add an extra field to a tab within this FieldList.
This is most commonly used when overloading getCMSFields()
at line 138
addFieldsToTab($tabName, $fields, $insertBefore = null)
Add a number of extra fields to a tab within this FieldList.
This is most commonly used when overloading getCMSFields()
at line 164
removeFieldFromTab(string $tabName, string $fieldName)
Remove the given field from the given tab in the field.
at line 178
removeFieldsFromTab(string $tabName, array $fields)
Removes a number of fields from a Tab/TabSet within this FieldList.
at line 197
removeByName(string|array $fieldName, boolean $dataFieldOnly = false)
Remove a field or fields from this FieldList by Name.
The field could also be inside a CompositeField.
at line 234
boolean
replaceField(string $fieldName, FormField $newField)
Replace a single field with another. Ignores dataless fields such as Tabs and TabSets
at line 257
boolean
renameField(string $fieldName, string $newFieldTitle)
Rename the title of a particular field name in this set.
at line 269
boolean
hasTabSet()
at line 292
Tab
findOrMakeTab(string $tabName, string $title = null)
Returns the specified tab object, creating it if necessary.
at line 333
fieldByName($name)
Returns a named field.
You can use dot syntax to get fields from child composite fields
at line 362
FormField
dataFieldByName(string $name)
Returns a named field in a sequential set.
Use this if you're using nested FormFields.
at line 377
FormField|false
insertBefore(string $name, FormField $item)
Inserts a field before a particular field in a FieldList.
at line 407
FormField|false
insertAfter(string $name, FormField $item)
Inserts a field after a particular field in a FieldList.
at line 471
setForm(Form $form)
Set the Form instance for this FieldList.
at line 484
setValues(data $data)
Load the given data into this form.
at line 499
FieldList
HiddenFields()
Return all fields in a form - including fields nested in {@link CompositeFields}.
Useful when doing custom field layouts.
at line 514
VisibleFields()
Return all fields except for the hidden fields.
Useful when making your own simplified form layouts.
at line 530
FieldList
transform($trans)
Transform this FieldList with a given tranform method, e.g. $this->transform(new ReadonlyTransformation())
at line 542
rootFieldList()
Returns the root field set that this belongs to
at line 547
setContainerField($field)
at line 557
FieldList
makeReadonly()
Transforms this FieldList instance to readonly.
at line 566
makeFieldReadonly(string|FormField $field)
Transform the named field into a readonly feld.
at line 586
changeFieldOrder(array $fieldNames)
Change the order of fields in this FieldList by specifying an ordered list of field names.
This works well in conjunction with SilverStripe's scaffolding functions: take the scaffold, and shuffle the fields around to the order that you want.
Please note that any tabs or other dataless fields will be clobbered by this operation.
at line 622
int
fieldPosition(string|FormField $field)
Find the numerical position of a field within the children collection. Doesn't work recursively.
at line 651
setTabPathRewrites(array $rewrites)
Ordered list of regular expressions matching a tab path, to their rewrite rule (through preg_replace()).
Mainly used for backwards compatibility. Ensure that more specific rules are placed earlier in the list, and that tabs with children are accounted for in the rule sets.
Example: $fields->setTabPathRewriting(array( // Rewrite specific innermost tab '/^Root.Content.Main$/' => 'Root.Content', // Rewrite all innermost tabs '/^Root.Content.([^.]+)$/' => 'Root.\1', ));
at line 658
array
getTabPathRewrites()
at line 693
forTemplate()
Default template rendering of a FieldList will concatenate all FieldHolder values.