ElementHelper ​
- Type
- Class
- Namespace
- craft\helpers
- Inherits
- craft\helpers\ElementHelper
- Since
- 3.0.0
Class ElementHelper
Public Methods ​
Method | Description |
---|---|
attributeHtml() | Returns the HTML for a given attribute value, to be shown in an element index view. |
doesUriFormatHaveSlugTag() | Returns whether a given URL format has a proper {slug} tag. |
editableSiteIdsForElement() | Returns the editable site IDs for a given element, taking user permissions into account. |
fieldColumn() | Returns the content column name based on the given field attributes. |
fieldColumnFromField() | Returns the content column name for a given field. |
findSource() | Returns an element type's source definition based on a given source key/path and context. |
generateSlug() | Generates a new slug based on a given string. |
isAttributeEmpty() | Returns whether the attribute on the given element is empty. |
isCanonical() | Returns whether the given element (or its root element if a block element) is a canonical element. |
isDerivative() | Returns whether the given element (or its root element if a block element) is a derivative of another element. |
isDraft() | Returns whether the given element (or its root element if a block element) is a draft. |
isDraftOrRevision() | Returns whether the given element (or its root element if a block element) is a draft or revision. |
isElementEditable() | Returns whether the given element is editable by the current user, taking user permissions into account. |
isOutdated() | Returns whether the given derivative element is outdated compared to its canonical element. |
isRevision() | Returns whether the given element (or its root element if a block element) is a revision. |
isTempSlug() | Returns whether the given slug is temporary. |
normalizeSlug() | Normalizes a slug. |
rootElement() | Returns the root owner of a given element. |
rootSourceKey() | Returns the root level source key for a given source key/path |
searchableAttributes() | Returns the searchable attributes for a given element, ensuring that slug and title are included. |
setNextPrevOnElements() | Given an array of elements, will go through and set the appropriate "next" and "prev" elements on them. |
setUniqueUri() | Sets the URI on an element using a given URL format, tweaking its slug if necessary to ensure it's unique. |
shouldTrackChanges() | Returns whether changes should be tracked for the given element. |
siteStatusesForElement() | Returns the site statuses for a given element. |
sourceElement() | Returns the canonical version of an element. |
supportedSitesForElement() | Returns a list of sites that a given element supports. |
tempSlug() | Generates a new temporary slug. |
translationDescription() | Returns the description of a field’s translation support. |
translationKey() | Returns the translation key for an element title or custom field, based on the given translation method and translation key format. |
attributeHtml()
​
- Since
- 4.3.0
Returns the HTML for a given attribute value, to be shown in an element index view.
Arguments ​
$value
(mixed
) – The field value
Returns ​
doesUriFormatHaveSlugTag()
​
Returns whether a given URL format has a proper {slug} tag.
Arguments ​
$uriFormat
(string)
Returns ​
editableSiteIdsForElement()
​
Returns the editable site IDs for a given element, taking user permissions into account.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
fieldColumn()
​
- Since
- 3.7.0
Returns the content column name based on the given field attributes.
Arguments ​
Returns ​
fieldColumnFromField()
​
- Since
- 3.7.0
Returns the content column name for a given field.
Arguments ​
$field
(craft\base\FieldInterface)$columnKey
(string, null)
Returns ​
findSource()
​
Returns an element type's source definition based on a given source key/path and context.
Arguments ​
$elementType
(class-string<\craft\base\ElementInterface>
) – The element type class$sourceKey
(string) – The source key/path$context
(string) – The context
Returns ​
array, null – The source definition, or null if it cannot be found
generateSlug()
​
- Since
- 3.5.0
Generates a new slug based on a given string.
This is different from normalizeSlug() in two ways:
- Periods and underscores will be converted to dashes, whereas normalizeSlug() will leave those in-tact.
- The string may be converted to ASCII.
Arguments ​
$str
(string) – The string$ascii
(boolean, null) – Whether the slug should be converted to ASCII. If null, it will depend on the config4:limitAutoSlugsToAscii config setting value.$language
(string, null) – The language to pull ASCII character mappings for, if needed
Returns ​
isAttributeEmpty()
​
- Since
- 4.2.6
Returns whether the attribute on the given element is empty.
Arguments ​
$element
(craft\base\ElementInterface)$attribute
(string)
Returns ​
isCanonical()
​
- Since
- 3.7.17
Returns whether the given element (or its root element if a block element) is a canonical element.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
isDerivative()
​
- Since
- 3.7.17
Returns whether the given element (or its root element if a block element) is a derivative of another element.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
isDraft()
​
- Since
- 3.7.0
Returns whether the given element (or its root element if a block element) is a draft.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
isDraftOrRevision()
​
- Since
- 3.2.0
Returns whether the given element (or its root element if a block element) is a draft or revision.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
isElementEditable()
​
Returns whether the given element is editable by the current user, taking user permissions into account.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
isOutdated()
​
- Since
- 3.7.12
Returns whether the given derivative element is outdated compared to its canonical element.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
isRevision()
​
- Since
- 3.7.0
Returns whether the given element (or its root element if a block element) is a revision.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
isTempSlug()
​
- Since
- 3.2.2
Returns whether the given slug is temporary.
Arguments ​
$slug
(string)
Returns ​
normalizeSlug()
​
- Since
- 3.5.0
Normalizes a slug.
Arguments ​
$slug
(string)
Returns ​
rootElement()
​
DEPRECATED
Deprecated in 4.12.0. Use craft\base\ElementInterface::getRootOwner() instead.
- Since
- 3.2.0
Returns the root owner of a given element.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
rootSourceKey()
​
- Since
- 3.7.25.1
Returns the root level source key for a given source key/path
Arguments ​
$sourceKey
(string)
Returns ​
searchableAttributes()
​
- Since
- 4.6.0
Returns the searchable attributes for a given element, ensuring that slug
and title
are included.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
string[]
setNextPrevOnElements()
​
Given an array of elements, will go through and set the appropriate "next" and "prev" elements on them.
Arguments ​
$elements
(iterable
, craft\base\ElementInterface[]) – The array of elements.
setUniqueUri()
​
Sets the URI on an element using a given URL format, tweaking its slug if necessary to ensure it's unique.
Arguments ​
$element
(craft\base\ElementInterface)
Throws ​
- craft\errors\OperationAbortedException
if a unique URI could not be found
shouldTrackChanges()
​
- Since
- 3.7.4
Returns whether changes should be tracked for the given element.
Arguments ​
$element
(craft\base\ElementInterface)
Returns ​
siteStatusesForElement()
​
- Since
- 4.4.7
Returns the site statuses for a given element.
Arguments ​
$element
(craft\base\ElementInterface) – The element to return site statuses for$editableOnly
(boolean) – Whether to only return statuses for sites the user has access to
Returns ​
array<int,bool>
– The site statuses, indexed by site ID
sourceElement()
​
DEPRECATED
Deprecated in 3.7.0. Use craft\base\ElementInterface::getCanonical() instead.
- Since
- 3.3.0
Returns the canonical version of an element.
Arguments ​
$element
(craft\base\ElementInterface) – The source/draft/revision element$anySite
(boolean) – Whether the source element can be retrieved in any site
Returns ​
supportedSitesForElement()
​
Returns a list of sites that a given element supports.
Each site is represented as an array with siteId
, propagate
, and enabledByDefault
keys.
Arguments ​
$element
(craft\base\ElementInterface) – The element to return supported site info for$withUnpropagatedSites
(boolean) – Whether to include sites the element is currently not being propagated to
Returns ​
array[]
Throws ​
- yii\base\Exception
if any of the element’s supported sites are invalid
tempSlug()
​
- Since
- 3.2.2
Generates a new temporary slug.
Returns ​
translationDescription()
​
- Since
- 3.5.0
Returns the description of a field’s translation support.
Arguments ​
$translationMethod
(string)
Returns ​
translationKey()
​
- Since
- 3.5.0
Returns the translation key for an element title or custom field, based on the given translation method and translation key format.
Arguments ​
$element
(craft\base\ElementInterface)$translationMethod
(string)$translationKeyFormat
(string, null)
Returns ​
Constants ​
Constant | Description |
---|---|
URI_MAX_LENGTH |