Arillo\Elements\ElementsExtension
Establishes multiple has_many elements relations, which can be set up via the config system e.g: Page: extensions: - Arillo\Elements\ElementsExtension element_relations: Elements: - Element - DownloadElement Downloads: - DownloadElement
Adds a getter function to access the elements by relation name
$pageInst->ElementsByRelation('Downloads');
Synopsis
class ElementsExtension
extends DataExtension
{
- // members
- private static array $has_many = ;
- private static array $owns = ;
- private static boolean $use_custom_tab = false;
- protected $elementRelations;
- // methods
- public static FieldList move_elements_manager()
- public static int create_default_elements()
- public static array validate_class_inheritance()
- public static void map_classnames()
- public static void page_element_relation_names()
- public bool defaultsCreated()
- public void updateCMSFields()
- public array getDefaultElements()
- public void onAfterVersionedPublish()
- private void publishElements()
- public DataList ElementsByRelation()
- public DataObject gridFieldForElementRelation()
- public void updateStatusFlags()
Hierarchy
Extends
- SilverStripe\ORM\DataExtension
Members
private
- $has_many
- $owns
- $use_custom_tab
protected
- $elementRelations
—
string
Holds parsed relations taking into consideration the inheritance.
Methods
private
public
- ElementsByRelation() — Getter for items by relation name
- create_default_elements() — Create_default elements , if setup via config @see self::getDefaultElements().
- defaultsCreated()
- getDefaultElements() — Elements to generate withi create default elements action.
- gridFieldForElementRelation() — Adds a GridField for a elements relation
- map_classnames()
- move_elements_manager() — Move an elements gridfield to an other tab.
- onAfterVersionedPublish() — Publish all related elements.
- page_element_relation_names()
- updateCMSFields()
- updateStatusFlags()
- validate_class_inheritance() — Check if all provied classes derive from ElementBase.