class CMSMenuItem

A simple CMS menu item.

Items can be added to the menu through custom {@link LeftAndMainExtension} classes and {@link CMSMenu}.

Traits

A class that can be instantiated or replaced via DI

Properties

string $title The (translated) menu title
string $url Relative URL
string $controller Parent controller class name
integer $priority Menu priority (sort order)
string $iconClass

Methods

static Injectable
create(array $args)

An implementation of the factory method, allows you to create an instance of a class

static Injectable
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

__construct(string $title, string $url, string $controller = null, integer $priority = -1, string $iconClass = null)

Create a new CMS Menu Item

setAttributes(array $attributes)

No description

getAttributesHTML(array $attrs = null)

No description

Details

in Injectable at line 26
static Injectable create(array $args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

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();

Parameters

array $args

Return Value

Injectable

in Injectable at line 43
static Injectable singleton(string $class = null)

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).

Parameters

string $class Optional classname to create, if the called class should not be used

Return Value

Injectable The singleton instance

at line 68
__construct(string $title, string $url, string $controller = null, integer $priority = -1, string $iconClass = null)

Create a new CMS Menu Item

Parameters

string $title
string $url
string $controller Controller class name
integer $priority The sort priority of the item
string $iconClass

at line 80
setAttributes(array $attributes)

Parameters

array $attributes

at line 89
DBHTMLText getAttributesHTML(array $attrs = null)

Parameters

array $attrs

Return Value

DBHTMLText