Skip to content

Cp ​

Type
Class
Namespace
craft\helpers
Inherits
craft\helpers\Cp
Since
3.0.0

Class Cp

View source

Public Methods ​

MethodDescription
addressFieldsHtml()Returns address fields’ HTML (sans country) for a given address.
autosuggestFieldHtml()Renders an autosuggest field’s HTML.
checkboxFieldHtml()Renders a checkbox field’s HTML.
checkboxGroupFieldHtml()Renders a checkbox group field’s HTML.
checkboxGroupHtml()Renders a checkbox group input.
checkboxSelectFieldHtml()Renders a checkbox select field’s HTML.
chipHtml()Renders a component’s chip HTML.
colorFieldHtml()Renders a color field’s HTML.
colorSelectFieldHtml()Renders a color select field’s HTML.
customSelectFieldHtml()Renders a selectize field’s HTML.
customSelectHtml()Renders a custom select input.
dateFieldHtml()Returns a date field’s HTML.
dateHtml()Returns a date input’s HTML.
dateTimeFieldHtml()Renders a date + time field’s HTML.
disclosureMenu()Returns a disclosure menu’s HTML.
earthIcon()Returns the appropriate Earth icon, depending on the system time zone.
editableTableFieldHtml()Renders an editable table field’s HTML.
elementCardHtml()Renders an element’s card HTML.
elementChipHtml()Renders an element’s chip HTML.
elementHtml()Renders an element’s chip HTML.
elementIndexHtml()Returns the HTML for an element index.
elementPreviewHtml()Returns element preview HTML, for a list of elements.
elementSelectFieldHtml()Renders an element select field’s HTML.
elementSelectHtml()Renders an element select input’s HTML
entryTypeSelectFieldHtml()Renders an entry type select field’s HTML.
entryTypeSelectHtml()Renders an entry type select input’s HTML
fallbackIconSvg()Returns a fallback icon SVG for a component with a given label.
fieldHtml()Renders a field’s HTML, for the given input HTML or a template.
fieldLayoutDesignerHtml()Renders a field layout designer.
iconPickerFieldHtml()Renders an icon picker field’s HTML.
iconPickerHtml()Renders an icon picker’s HTML.
iconSvg()Returns an SVG icon’s contents for the control panel.
layoutElementSelectorHtml()Renders a field layout element’s selector HTML.
lightswitchFieldHtml()Renders a lightswitch field’s HTML.
lightswitchHtml()Renders a lightswitch input’s HTML.
menuItem()Returns a menu item’s HTML.
metadataHtml()Returns a metadata component’s HTML.
moneyFieldHtml()Renders a money field’s HTML.
moneyInputHtml()Renders a money input’s HTML.
multiSelectFieldHtml()Renders a multi-select field’s HTML.
multiSelectHtml()Renders a multi-select input.
normalizeMenuItems()Normalizes and cleans up the given disclosure menu items.
renderTemplate()Renders a control panel template.
requestedSite()Returns the site the control panel is currently working with, via a site query string param if sent.
selectFieldHtml()Renders a select field’s HTML.
selectHtml()Renders a select input.
selectizeFieldHtml()Renders a selectize field’s HTML.
selectizeHtml()Renders a selectize input.
siteMenuItems()Returns a menu item array for the given sites, possibly grouping them by site group.
statusIndicatorHtml()Renders accessible HTML for status indicators.
textFieldHtml()Renders a text field’s HTML.
textHtml()Renders a text input’s HTML.
textareaFieldHtml()Renders a textarea field’s HTML.
textareaHtml()Renders a textarea input’s HTML.
timeFieldHtml()Returns a date field’s HTML.
timeHtml()Returns a time input’s HTML.

addressFieldsHtml() ​

Since
4.0.0

Returns address fields’ HTML (sans country) for a given address.

View source

Arguments ​

Returns ​

string

autosuggestFieldHtml() ​

Since
3.7.0

Renders an autosuggest field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

checkboxFieldHtml() ​

Since
3.6.0

Renders a checkbox field’s HTML.

Note that unlike the checkboxField macro in _includes/forms.html, you must set the checkbox label via $config['checkboxLabel'].

View source

Arguments ​

Returns ​

string

Throws ​

checkboxGroupFieldHtml() ​

Since
5.0.0

Renders a checkbox group field’s HTML.

View source

Arguments ​

Returns ​

string

checkboxGroupHtml() ​

Since
5.0.0

Renders a checkbox group input.

View source

Arguments ​

Returns ​

string

checkboxSelectFieldHtml() ​

Since
3.6.0

Renders a checkbox select field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

chipHtml() ​

Since
5.0.0

Renders a component’s chip HTML.

The following config settings can be passed to $config:

  • attributes – Any custom HTML attributes that should be set on the chip
  • autoReload – Whether the chip should auto-reload itself when it’s saved
  • id – The chip’s id attribute
  • inputName – The name attribute that should be set on the hidden input, if context is set to field
  • labelHtml – The label HTML, if it should be different from craft\base\Chippable::getUiLabel()
  • selectable – Whether the chip should include a checkbox input
  • showActionMenu – Whether the chip should include an action menu
  • showLabel – Whether the component’s label should be shown
  • showStatus – Whether the component’s status should be shown (if it has statuses)
  • showThumb – Whether the component’s thumbnail should be shown (if it has one)
  • size – The size of the chip (small or large)
  • sortable – Whether the chip should include a drag handle

View source

Arguments ​

Returns ​

string

colorFieldHtml() ​

Since
3.6.0

Renders a color field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

colorSelectFieldHtml() ​

Since
5.0.0

Renders a color select field’s HTML.

View source

Arguments ​

Returns ​

string

customSelectFieldHtml() ​

Since
5.0.0

Renders a selectize field’s HTML.

View source

Arguments ​

Returns ​

string

customSelectHtml() ​

Since
5.0.0

Renders a custom select input.

View source

Arguments ​

Returns ​

string

dateFieldHtml() ​

Since
4.0.0

Returns a date field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

dateHtml() ​

Since
4.0.0

Returns a date input’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

dateTimeFieldHtml() ​

Since
3.7.0

Renders a date + time field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

disclosureMenu() ​

Since
5.0.0

Returns a disclosure menu’s HTML.

See menuItem() for a list of supported item config options.

Horizontal rules can be defined with the following key:

  • hr – Set to true

Groups of items can be defined as well, using the following keys:

  • group – Set to true
  • heading – The group heading
  • items – The nested item definitions
  • listAttributes – any HTML attributes that should be included on the <ul>

View source

Arguments ​

  • $items (array) – The menu items.
  • $config (array)

Returns ​

string

earthIcon() ​

Since
5.0.0

Returns the appropriate Earth icon, depending on the system time zone.

View source

Returns ​

string

editableTableFieldHtml() ​

Since
3.6.0

Renders an editable table field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

elementCardHtml() ​

Since
5.0.0

Renders an element’s card HTML.

The following config settings can be passed to $config:

  • attributes – Any custom HTML attributes that should be set on the card
  • autoReload – Whether the card should auto-reload itself when it’s saved
  • context – The context the chip is going to be shown in (index, field, etc.)
  • id – The card’s id attribute
  • inputName – The name attribute that should be set on the hidden input, if context is set to field
  • selectable – Whether the card should include a checkbox input
  • showActionMenu – Whether the card should include an action menu
  • sortable – Whether the card should include a drag handle

View source

Arguments ​

Returns ​

string

elementChipHtml() ​

Since
5.0.0

Renders an element’s chip HTML.

The following config settings can be passed to $config:

  • attributes – Any custom HTML attributes that should be set on the chip
  • autoReload – Whether the chip should auto-reload itself when it’s saved
  • context – The context the chip is going to be shown in (index, field, etc.)
  • id – The chip’s id attribute
  • inputName – The name attribute that should be set on the hidden input, if context is set to field
  • selectable – Whether the chip should include a checkbox input
  • showActionMenu – Whether the chip should include an action menu
  • showDraftName – Whether to show the draft name beside the label if the element is a draft of a published element
  • showLabel – Whether the element’s label should be shown
  • showStatus – Whether the element’s status should be shown (if the element type has statuses)
  • showThumb – Whether the element’s thumbnail should be shown (if the element has one)
  • size – The size of the chip (small or large)
  • sortable – Whether the chip should include a drag handle

View source

Arguments ​

Returns ​

string

elementHtml() ​

DEPRECATED

Deprecated in 5.0.0. elementChipHtml() or elementCardHtml() should be used instead.

Since
3.5.8

Renders an element’s chip HTML.

View source

Arguments ​

  • $element (craft\base\ElementInterface) – The element to be rendered
  • $context (string) – The context the chip is going to be shown in (index, field, etc.)
  • $size (string) – The size of the chip (small or large)
  • $inputName (string, null) – The name attribute that should be set on the hidden input, if $context is set to field
  • $showStatus (boolean) – Whether the element status should be shown (if the element type has statuses)
  • $showThumb (boolean) – Whether the element thumb should be shown (if the element has one)
  • $showLabel (boolean) – Whether the element label should be shown
  • $showDraftName (boolean) – Whether to show the draft name beside the label if the element is a draft of a published element
  • $single (boolean) – Whether the input name should omit the trailing []
  • $autoReload (boolean) – Whether the element should auto-reload itself when it’s saved

Returns ​

string

elementIndexHtml() ​

Since
5.0.0

Returns the HTML for an element index.

View source

Arguments ​

  • $elementType (class-string<\craft\base\ElementInterface>)
  • $config (array)

Returns ​

string

elementPreviewHtml() ​

Since
3.6.3

Returns element preview HTML, for a list of elements.

View source

Arguments ​

  • $elements (craft\base\ElementInterface[]) – The elements
  • $size (string) – The size of the element (small or large)
  • $showStatus (boolean) – Whether the element status should be shown (if the element type has statuses)
  • $showThumb (boolean) – Whether the element thumb should be shown (if the element has one)
  • $showLabel (boolean) – Whether the element label should be shown
  • $showDraftName (boolean) – Whether to show the draft name beside the label if the element is a draft of a published element

Returns ​

string

elementSelectFieldHtml() ​

Since
3.7.0

Renders an element select field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

elementSelectHtml() ​

Since
4.0.0

Renders an element select input’s HTML

View source

Arguments ​

Returns ​

string

Throws ​

entryTypeSelectFieldHtml() ​

Since
5.0.0

Renders an entry type select field’s HTML.

View source

Arguments ​

Returns ​

string

entryTypeSelectHtml() ​

Since
5.0.0

Renders an entry type select input’s HTML

View source

Arguments ​

Returns ​

string

fallbackIconSvg() ​

Since
5.0.0

Returns a fallback icon SVG for a component with a given label.

View source

Arguments ​

Returns ​

string

fieldHtml() ​

Since
3.5.8

Renders a field’s HTML, for the given input HTML or a template.

View source

Arguments ​

  • $input (string, callable) – The input HTML or template path. If passing a template path, it must begin with template:.
  • $config (array)

Returns ​

string

Throws ​

fieldLayoutDesignerHtml() ​

Since
4.0.0

Renders a field layout designer.

View source

Arguments ​

Returns ​

string

iconPickerFieldHtml() ​

Since
5.0.0

Renders an icon picker field’s HTML.

View source

Arguments ​

Returns ​

string

iconPickerHtml() ​

Since
5.0.0

Renders an icon picker’s HTML.

View source

Arguments ​

Returns ​

string

iconSvg() ​

Since
5.0.0

Returns an SVG icon’s contents for the control panel.

The icon can be a system icon’s name (e.g. 'whiskey-glass-ice'), the path to an SVG file, or raw SVG markup.

System icons can be found in src/icons/solid/.

View source

Arguments ​

Returns ​

string

layoutElementSelectorHtml() ​

Since
5.0.0

Renders a field layout element’s selector HTML.

View source

Arguments ​

Returns ​

string

lightswitchFieldHtml() ​

Since
3.6.0

Renders a lightswitch field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

lightswitchHtml() ​

Since
4.0.0

Renders a lightswitch input’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

menuItem() ​

Since
5.0.0

Returns a menu item’s HTML.

The item config can contain a type key set to a \craft\enums\MenuItemType case. By default, it will be set to:

  • MenuItemType::Link if url is set
  • MenuItemType::Group if heading or items are set
  • MenuItemType::Button in all other cases

Link and button item configs can contain the following keys:

  • id – The item’s ID
  • label – The item label, to be HTML-encoded
  • icon – The item icon name
  • html – The item label, which will be output verbatim, without being HTML-encoded
  • description – The item description
  • status – The status indicator that should be shown beside the item label
  • url – The URL that the item should link to
  • action – The controller action that the item should trigger
  • params – Request parameters that should be sent to the action
  • confirm – A confirmation message that should be presented to the user before triggering the action
  • redirect – The redirect path that the action should use
  • requireElevatedSession – Whether an elevated session is required before the action is triggered
  • selected – Whether the item should be marked as selected
  • hidden – Whether the item should be hidden
  • attributes – Any HTML attributes that should be set on the item’s <a> or <button> tag
  • liAttributes – Any HTML attributes that should be set on the item’s <li> tag

View source

Arguments ​

Returns ​

string

metadataHtml() ​

Returns a metadata component’s HTML.

View source

Arguments ​

  • $data (array) – The data, with keys representing the labels. The values can either be strings or callables. If a value is false, it will be omitted.

Returns ​

string

moneyFieldHtml() ​

Since
5.0.0

Renders a money field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

moneyInputHtml() ​

Since
5.0.0

Renders a money input’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

multiSelectFieldHtml() ​

Since
4.0.0

Renders a multi-select field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

multiSelectHtml() ​

Since
4.0.0

Renders a multi-select input.

View source

Arguments ​

Returns ​

string

normalizeMenuItems() ​

Since
5.0.0

Normalizes and cleans up the given disclosure menu items.

View source

Arguments ​

Returns ​

array

renderTemplate() ​

Renders a control panel template.

View source

Arguments ​

Returns ​

string

Throws ​

requestedSite() ​

Since
4.0.0

Returns the site the control panel is currently working with, via a site query string param if sent.

View source

Returns ​

craft\models\Site, null – The site, or null if the user doesn’t have permission to edit any sites.

selectFieldHtml() ​

Since
3.6.0

Renders a select field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

selectHtml() ​

Since
3.6.0

Renders a select input.

View source

Arguments ​

Returns ​

string

selectizeFieldHtml() ​

Since
4.0.0

Renders a selectize field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

selectizeHtml() ​

Since
4.0.0

Renders a selectize input.

View source

Arguments ​

Returns ​

string

siteMenuItems() ​

Since
5.0.0

Returns a menu item array for the given sites, possibly grouping them by site group.

View source

Arguments ​

  • $sites (array<int,\craft\models\Site|array{site: \craft\models\Site, status?: string}>)
  • $selectedSite (craft\models\Site, null)
  • $config (array)

Returns ​

array

statusIndicatorHtml() ​

Since
5.0.0

Renders accessible HTML for status indicators.

When the status is equal to "draft" the draft icon will be displayed. The attributes passed as the second argument should be a status definition from craft\base\ElementInterface::statuses()

View source

Arguments ​

  • $status (string) – Status string
  • $attributes (array, null) – Attributes to be passed along.

Returns ​

string, null

textFieldHtml() ​

Since
3.6.0

Renders a text field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

textHtml() ​

Since
4.0.0

Renders a text input’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

textareaFieldHtml() ​

Since
3.6.0

Renders a textarea field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

textareaHtml() ​

Since
4.0.0

Renders a textarea input’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

timeFieldHtml() ​

Since
4.0.0

Returns a date field’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

timeHtml() ​

Since
4.0.0

Returns a time input’s HTML.

View source

Arguments ​

Returns ​

string

Throws ​

Constants ​

ConstantDescription
CHIP_SIZE_LARGE
CHIP_SIZE_SMALL
ELEMENT_SIZE_LARGE
ELEMENT_SIZE_SMALL

Events ​

EVENT_DEFINE_ELEMENT_CARD_HTML ​

Type
craft\events\DefineElementHtmlEvent
Since
5.0.0

The event that is triggered when defining an element’s card HTML.

See also elementCardHtml()


EVENT_DEFINE_ELEMENT_CHIP_HTML ​

Type
craft\events\DefineElementHtmlEvent
Since
5.0.0

The event that is triggered when defining an element’s chip HTML.

See also elementChipHtml()


EVENT_DEFINE_ELEMENT_INNER_HTML ​

DEPRECATED

Deprecated in 5.0.0. EVENT_DEFINE_ELEMENT_CHIP_HTML should be used instead.

Type
craft\events\DefineElementInnerHtmlEvent
Since
4.0.0

The event that is triggered when defining an element’s inner HTML.


EVENT_REGISTER_ALERTS ​

Type
craft\events\RegisterCpAlertsEvent

The event that is triggered when registering control panel alerts.