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

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