Skip to content

ElementHelper ​

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

Class ElementHelper

View source

Public Methods ​

MethodDescription
createSlug()Creates a slug based on a given string.
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 element of a given element.
rootSourceKey()Returns the root level source key for a given source key/path
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.
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.

createSlug() ​

DEPRECATED

Deprecated in 3.5.0. Use normalizeSlug() instead.

Creates a slug based on a given string.

View source

Arguments ​

Returns ​

string

doesUriFormatHaveSlugTag() ​

Returns whether a given URL format has a proper {slug} tag.

View source

Arguments ​

Returns ​

boolean

editableSiteIdsForElement() ​

Returns the editable site IDs for a given element, taking user permissions into account.

View source

Arguments ​

Returns ​

array

fieldColumn() ​

Since
3.7.0

Returns the content column name based on the given field attributes.

View source

Arguments ​

Returns ​

string

fieldColumnFromField() ​

Since
3.7.0

Returns the content column name for a given field.

View source

Arguments ​

Returns ​

string, null

findSource() ​

Returns an element type's source definition based on a given source key/path and context.

View source

Arguments ​

  • $elementType (string) – The element type class
  • $sourceKey (string) – The source key/path
  • $context (string, null) – 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.

View source

Arguments ​

  • $str (string) – The string
  • $ascii (boolean, null) – Whether the slug should be converted to ASCII. If null, it will depend on the config3:limitAutoSlugsToAscii config setting value.
  • $language (string, null) – The language to pull ASCII character mappings for, if needed

Returns ​

string

isAttributeEmpty() ​

Since
3.7.56

Returns whether the attribute on the given element is empty.

View source

Arguments ​

Returns ​

boolean

isCanonical() ​

Since
3.7.17

Returns whether the given element (or its root element if a block element) is a canonical element.

View source

Arguments ​

Returns ​

boolean

isDerivative() ​

Since
3.7.17

Returns whether the given element (or its root element if a block element) is a derivative of another element.

View source

Arguments ​

Returns ​

boolean

isDraft() ​

Since
3.7.0

Returns whether the given element (or its root element if a block element) is a draft.

View source

Arguments ​

Returns ​

boolean

isDraftOrRevision() ​

Since
3.2.0

Returns whether the given element (or its root element if a block element) is a draft or revision.

View source

Arguments ​

Returns ​

boolean

isElementEditable() ​

Returns whether the given element is editable by the current user, taking user permissions into account.

View source

Arguments ​

Returns ​

boolean

isOutdated() ​

Since
3.7.12

Returns whether the given derivative element is outdated compared to its canonical element.

View source

Arguments ​

Returns ​

boolean

isRevision() ​

Since
3.7.0

Returns whether the given element (or its root element if a block element) is a revision.

View source

Arguments ​

Returns ​

boolean

isTempSlug() ​

Since
3.2.2

Returns whether the given slug is temporary.

View source

Arguments ​

Returns ​

boolean

normalizeSlug() ​

Since
3.5.0

Normalizes a slug.

View source

Arguments ​

Returns ​

string

rootElement() ​

Since
3.2.0

Returns the root element of a given element.

View source

Arguments ​

Returns ​

craft\base\ElementInterface

rootSourceKey() ​

Since
3.7.25.1

Returns the root level source key for a given source key/path

View source

Arguments ​

Returns ​

string

setNextPrevOnElements() ​

Given an array of elements, will go through and set the appropriate "next" and "prev" elements on them.

View source

Arguments ​

setUniqueUri() ​

Sets the URI on an element using a given URL format, tweaking its slug if necessary to ensure it's unique.

View source

Arguments ​

Throws ​

shouldTrackChanges() ​

Since
3.7.4

Returns whether changes should be tracked for the given element.

View source

Arguments ​

Returns ​

boolean

sourceElement() ​

DEPRECATED

Deprecated in 3.7.0. Use craft\base\ElementInterface::getCanonical() instead.

Since
3.3.0

Returns the canonical version of an element.

View source

Arguments ​

Returns ​

craft\base\ElementInterface

supportedSitesForElement() ​

Returns a list of sites that a given element supports.

Each site is represented as an array with siteId, propagate, and enabledByDefault keys.

View source

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 ​

tempSlug() ​

Since
3.2.2

Generates a new temporary slug.

View source

Returns ​

string

translationDescription() ​

Since
3.5.0

Returns the description of a field’s translation support.

View source

Arguments ​

Returns ​

string, null

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.

View source

Arguments ​

Returns ​

string

Constants ​

ConstantDescription
URI_MAX_LENGTH