Cp
- Type
- Class
- Namespace
- craft\web\twig\variables
- Inherits
- craft\web\twig\variables\Cp » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
- Implements
- yii\base\Configurable (opens new window)
- Since
- 3.0.0
Control panel functions
View source (opens new window)
# Public Properties
Property | Description |
---|---|
alerts | array (opens new window) |
behaviors (opens new window) | yii\base\Behavior (opens new window) – List of behaviors attached to this component. |
booleanEnvOptions | array (opens new window) |
envOptions | array (opens new window) |
envSuggestions | array (opens new window)[] |
fsOptions | array (opens new window) |
requestedSite | craft\models\Site, null (opens new window) – The site, or null if the user doesn’t have permission to edit any sites. |
templateSuggestions | array (opens new window)[] |
timeZoneOptions | array (opens new window) |
volumeOptions | array (opens new window) |
# alerts
- Type
- array (opens new window)
- Default value
null
- Access
- Read-only
View source (opens new window)
# booleanEnvOptions
- Type
- array (opens new window)
- Default value
null
- Access
- Read-only
- Since
- 3.7.22
View source (opens new window)
# envOptions
- Type
- array (opens new window)
- Default value
null
- Access
- Read-only
- Since
- 3.7.22
View source (opens new window)
# envSuggestions
- Type
- array (opens new window)[]
- Default value
null
- Access
- Read-only
- Since
- 3.1.0
View source (opens new window)
# fsOptions
- Type
- array (opens new window)
- Default value
null
- Access
- Read-only
- Since
- 4.0.0
View source (opens new window)
# requestedSite
- Type
- craft\models\Site, null (opens new window)
- Default value
null
- Access
- Read-only
- Since
- 4.0.4
The site, or null
if the user doesn’t have permission to edit any sites.
View source (opens new window)
# templateSuggestions
- Type
- array (opens new window)[]
- Default value
null
- Access
- Read-only
- Since
- 3.1.0
View source (opens new window)
# timeZoneOptions
- Type
- array (opens new window)
- Default value
null
- Access
- Read-only
- Since
- 3.7.0
View source (opens new window)
# volumeOptions
- Type
- array (opens new window)
- Default value
null
- Access
- Read-only
- Since
- 4.0.0
View source (opens new window)
# Public Methods
Method | Description |
---|---|
__call() (opens new window) | Calls the named method which is not a class method. |
__clone() (opens new window) | This method is called after the object is created by cloning an existing one. |
__construct() (opens new window) | Constructor. |
__get() (opens new window) | Returns the value of a component property. |
__isset() (opens new window) | Checks if a property is set, i.e. defined and not null. |
__set() (opens new window) | Sets the value of a component property. |
__unset() (opens new window) | Sets a component property to be null. |
areAlertsCached() | Returns whether the control panel alerts are cached. |
attachBehavior() (opens new window) | Attaches a behavior to this component. |
attachBehaviors() (opens new window) | Attaches a list of behaviors to the component. |
behaviors() (opens new window) | Returns a list of behaviors that this component should behave as. |
canGetProperty() (opens new window) | Returns a value indicating whether a property can be read. |
canSetProperty() (opens new window) | Returns a value indicating whether a property can be set. |
className() (opens new window) | Returns the fully qualified name of this class. |
craftIdAccountUrl() | Returns the Craft Console account URL. |
detachBehavior() (opens new window) | Detaches a behavior from the component. |
detachBehaviors() (opens new window) | Detaches all behaviors from the component. |
ensureBehaviors() (opens new window) | Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component. |
field() | Renders a field’s HTML, for the given input HTML or a template. |
fieldLayoutDesigner() | Renders a field layout designer’s HTML. |
getAlerts() | Returns an array of alerts to display in the control panel. |
getAsciiCharMap() | Returns ASCII character mappings for the given language, if it differs from the application language. |
getBehavior() (opens new window) | Returns the named behavior object. |
getBehaviors() (opens new window) | Returns all behaviors attached to this component. |
getBooleanEnvOptions() | Returns environment variable options for a boolean menu. |
getEnvOptions() | Returns environment variable options for a select input. |
getEnvSuggestions() | Returns the available environment variable and alias suggestions for inputs that support them. |
getFsOptions() | Returns all options for a filesystem input. |
getRequestedSite() | Returns the site the control panel is currently working with, via a site query string param if sent. |
getTemplateSuggestions() | Returns the available template path suggestions for template inputs. |
getTimeZoneOptions() | Returns all known time zones for a time zone input. |
getVolumeOptions() | Returns all options for a volume input. |
hasEventHandlers() (opens new window) | Returns a value indicating whether there is any handler attached to the named event. |
hasMethod() (opens new window) | Returns a value indicating whether a method is defined. |
hasProperty() (opens new window) | Returns a value indicating whether a property is defined for this component. |
init() (opens new window) | Initializes the object. |
nav() | Returns the control panel nav items. |
off() (opens new window) | Detaches an existing event handler from this component. |
on() (opens new window) | Attaches an event handler to an event. |
prepFormActions() | Prepares form actions |
settings() | Returns the list of settings. |
trialInfo() | Returns info about the active trials. |
trigger() (opens new window) | Triggers an event. |
# areAlertsCached()
Returns whether the control panel alerts are cached.
View source (opens new window)
Returns
# craftIdAccountUrl()
Returns the Craft Console account URL.
View source (opens new window)
Returns
# field()
- Since
- 3.7.24
Renders a field’s HTML, for the given input HTML or a template.
View source (opens new window)
Arguments
$input
(string (opens new window)) – The input HTML or template path. If passing a template path, it must begin withtemplate:
.$config
(array (opens new window))
Returns
Throws
- craft\web\twig\TemplateLoaderException
if $input begins withtemplate:
and is followed by an invalid template path - yii\base\InvalidArgumentException (opens new window)
if$config['siteId']
is invalid
# fieldLayoutDesigner()
- Since
- 4.0.0
Renders a field layout designer’s HTML.
View source (opens new window)
Arguments
$fieldLayout
(craft\models\FieldLayout)$config
(array (opens new window))
Returns
# getAlerts()
Returns an array of alerts to display in the control panel.
View source (opens new window)
Returns
# getAsciiCharMap()
- Since
- 3.1.9
Returns ASCII character mappings for the given language, if it differs from the application language.
View source (opens new window)
Arguments
$language
(string (opens new window))
Returns
array (opens new window), null (opens new window)
# getBooleanEnvOptions()
- Since
- 3.7.22
Returns environment variable options for a boolean menu.
View source (opens new window)
Returns
# getEnvOptions()
- Since
- 3.7.22
Returns environment variable options for a select input.
View source (opens new window)
Arguments
$allowedValues
(array (opens new window), null (opens new window))
Returns
# getEnvSuggestions()
- Since
- 3.1.0
Returns the available environment variable and alias suggestions for inputs that support them.
View source (opens new window)
Arguments
$includeAliases
(boolean (opens new window)) – Whether aliases should be included in the list (only enable this if the setting defines a URL or file path)$filter
(callable (opens new window), null (opens new window)) – A function that returns whether a given value should be included
Returns
# getFsOptions()
- Since
- 4.0.0
Returns all options for a filesystem input.
View source (opens new window)
Returns
# getRequestedSite()
- Since
- 4.0.4
Returns the site the control panel is currently working with, via a site
query string param if sent.
View source (opens new window)
Returns
craft\models\Site, null (opens new window) – The site, or null
if the user doesn’t have permission to edit any sites.
# getTemplateSuggestions()
- Since
- 3.1.0
Returns the available template path suggestions for template inputs.
View source (opens new window)
Returns
# getTimeZoneOptions()
- Since
- 3.7.0
Returns all known time zones for a time zone input.
View source (opens new window)
Returns
# getVolumeOptions()
- Since
- 4.0.0
Returns all options for a volume input.
View source (opens new window)
Returns
# nav()
Returns the control panel nav items.
Each control panel nav item should be defined by an array with the following keys:
label
– The human-facing nav item labelurl
– The URL the nav item should link toid
– The HTMLid
attribute the nav item should have (optional)icon
– The path to an SVG file that should be used as the nav item icon (optional)fontIcon
– A character/ligature from Craft’s font icon set (optional)badgeCount
– A number that should be displayed beside the nav item when unselectedsubnav
– A sub-array of subnav items
Subnav arrays should be associative, with identifiable keys set to sub-arrays with the following keys:
label
– The human-facing subnav item labelurl
– The URL the subnav item should link to
For example:
[
'label' => 'Commerce',
'url' => 'commerce',
'subnav' => [
'orders' => ['label' => 'Orders', 'url' => 'commerce/orders',
'discounts' => ['label' => 'Discounts', 'url' => 'commerce/discounts',
],
]
Control panel templates can specify which subnav item is selected by defining a selectedSubnavItem
variable.
{% set selectedSubnavItem = 'orders' %}
View source (opens new window)
Returns
Throws
# prepFormActions()
- Since
- 3.6.10
Prepares form actions
View source (opens new window)
Arguments
$formActions
(array (opens new window), null (opens new window))
Returns
array (opens new window), null (opens new window)
# settings()
Returns the list of settings.
View source (opens new window)
Returns
# trialInfo()
- Since
- 4.4.15
Returns info about the active trials.
View source (opens new window)
Returns
array (opens new window), null (opens new window)
# Events
# EVENT_REGISTER_CP_NAV_ITEMS
The event that is triggered when registering control panel nav items.
use craft\events\RegisterCpNavItemsEvent;
use craft\web\twig\variables\Cp;
use yii\base\Event;
Event::on(
Cp::class,
Cp::EVENT_REGISTER_CP_NAV_ITEMS,
function(RegisterCpNavItemsEvent $e) {
$e->navItems[] = [
'label' => 'Item Label',
'url' => 'my-module',
'icon' => '/path/to/icon.svg',
];
}
);
craft\events\RegisterCpNavItemsEvent::$navItems is an array whose values are sub-arrays that define the nav items. Each sub-array can have the following keys:
label
– The item’s label.url
– The URL or path of the control panel page the item should link to.icon
– The path to the SVG icon that should be used for the item.badgeCount
(optional) – The badge count number that should be displayed next to the label.external
(optional) – Set totrue
if the item links to an external URL.id
(optional) – The ID of the<li>
element. If not specified, it will default tonav-
.subnav
(optional) – A nested array of sub-navigation items that should be displayed if the main item is selected.The keys of the array should define the items’ IDs, and the values should be nested arrays with
label
andurl
keys, and optionallybadgeCount
andexternal
keys.
If a subnav is defined, subpages can specify which subnav item should be selected by defining a selectedSubnavItem
variable that is set to
the selected item’s ID (its key in the subnav
array).
# EVENT_REGISTER_CP_SETTINGS
- Type
- craft\events\RegisterCpSettingsEvent
- Since
- 3.1.0
The event that is triggered when registering links that should render on the Settings page in the control panel.
use craft\events\RegisterCpSettingsEvent;
use craft\web\twig\variables\Cp;
use yii\base\Event;
Event::on(
Cp::class,
Cp::EVENT_REGISTER_CP_SETTINGS,
function(RegisterCpSettingsEvent $e) {
$e->settings[Craft::t('app', 'Modules')][] = [
'label' => 'Item Label',
'url' => 'my-module',
'icon' => '/path/to/icon.svg',
];
}
);
craft\events\RegisterCpSettingsEvent::$settings is an array whose keys define the section labels, and values are sub-arrays that define the individual links.
Each link array should have the following keys:
label
– The item’s label.url
– The URL or path of the control panel page the item should link to.icon
– The path to the SVG icon that should be used for the item.
# EVENT_REGISTER_FORM_ACTIONS
- Type
- craft\events\FormActionsEvent
- Since
- 3.6.10
The event that is triggered when preparing the page’s form actions.
use craft\events\FormActionsEvent;
use craft\web\twig\variables\Cp;
use yii\base\Event;
Event::on(
Cp::class,
Cp::EVENT_REGISTER_FORM_ACTIONS,
function(FormActionsEvent $event) {
if (Craft::$app->requestedRoute == 'entries/edit-entry') {
$event->formActions[] = [
'label' => 'Save and view entry',
'redirect' => Craft::$app->getSecurity()->hashData('{url}'),
];
}
}
);
See also prepFormActions()