Sections

Type
Class
Namespace
craft\services
Inherits
craft\services\Sections » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.0.0

Sections service.

An instance of the Sections service is globally accessible in Craft via Craft::$app->sections.

View source

Public Properties

PropertyDescription
allEntryTypescraft\models\EntryType[]
allSectionIdsinteger[] – All the sections’ IDs.
allSectionscraft\models\Section[] – All the sections.
autoResaveEntriesboolean – Whether entries should be resaved after a section or entry type has been updated.
behaviorsyii\base\Behavior – List of behaviors attached to this component
editableSectionIdsinteger[] – All the editable sections’ IDs.
editableSectionscraft\models\Section[] – All the editable sections.
totalEditableSectionsinteger
totalSectionsinteger

allEntryTypes

Type
craft\models\EntryType[]
Access
Read-only

View source

allSectionIds

Type
integer[]
Access
Read-only

All the sections’ IDs.

View source

allSections

Type
craft\models\Section[]
Access
Read-only

All the sections.

View source

autoResaveEntries

Type
boolean
Since
3.1.21

Whether entries should be resaved after a section or entry type has been updated.

WARNING

Don’t disable this unless you know what you’re doing, as entries won’t reflect section/entry type changes until they’ve been resaved. (You can resave entries manually by running the resave/entries console command.)

View source

editableSectionIds

Type
integer[]
Access
Read-only

All the editable sections’ IDs.

View source

editableSections

Type
craft\models\Section[]
Access
Read-only

All the editable sections.

View source

totalEditableSections

Type
integer
Access
Read-only

View source

totalSections

Type
integer
Access
Read-only

View source

Public Methods

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of an object property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets value of an object property.
__unset()Sets an object property to null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
deleteEntryType()Deletes an entry type.
deleteEntryTypeById()Deletes an entry type by its ID.
deleteSection()Deletes a section.
deleteSectionById()Deletes a section by its ID.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getAllEntryTypes()Returns all entry types.
getAllSectionIds()Returns all of the section IDs.
getAllSections()Returns all sections.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getEditableSectionIds()Returns all of the section IDs that are editable by the current user.
getEditableSections()Returns all editable sections.
getEntryTypeById()Returns an entry type by its ID.
getEntryTypesByHandle()Returns entry types that have a given handle.
getEntryTypesBySectionId()Returns a section’s entry types.
getSectionByHandle()Gets a section by its handle.
getSectionById()Returns a section by its ID.
getSectionByUid()Gets a section by its UID.
getSectionSiteSettings()Returns a section’s site-specific settings.
getSectionsByType()Returns all sections of a given type.
getTotalEditableSections()Gets the total number of sections that are editable by the current user.
getTotalSections()Gets the total number of sections.
handleChangedEntryType()Handle entry type change
handleChangedSection()Handle section change
handleDeletedEntryType()Handle an entry type getting deleted
handleDeletedSection()Handle a section getting deleted
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined.
init()Initializes the object.
isSectionTemplateValid()Returns whether a section’s entries have URLs for the given site ID, and if the section’s template path is valid.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
pruneDeletedField()Prune a deleted field from entry type layouts.
pruneDeletedSite()Prune a deleted site from section site settings.
reorderEntryTypes()Reorders entry types.
saveEntryType()Saves an entry type.
saveSection()Saves a section.
trigger()Triggers an event.

deleteEntryType()

Deletes an entry type.

View source

Arguments

Returns

boolean – Whether the entry type was deleted successfully

Throws

Example

deleteEntryTypeById()

Deletes an entry type by its ID.

View source

Arguments

Returns

boolean – Whether the entry type was deleted successfully

Throws

Example

deleteSection()

Deletes a section.

View source

Arguments

Returns

boolean – Whether the section was deleted successfully

Throws

Example

deleteSectionById()

Deletes a section by its ID.

View source

Arguments

Returns

boolean – Whether the section was deleted successfully

Throws

Example

getAllEntryTypes()

Since
3.3.0

Returns all entry types.

View source

Returns

craft\models\EntryType[]

Example

getAllSectionIds()

Returns all of the section IDs.

View source

Returns

integer[] – All the sections’ IDs.

Example

getAllSections()

Returns all sections.

View source

Returns

craft\models\Section[] – All the sections.

Example

getEditableSectionIds()

Returns all of the section IDs that are editable by the current user.

View source

Returns

integer[] – All the editable sections’ IDs.

Example

getEditableSections()

Returns all editable sections.

View source

Returns

craft\models\Section[] – All the editable sections.

Example

getEntryTypeById()

Returns an entry type by its ID.

View source

Arguments

Returns

craft\models\EntryType, null

Example

getEntryTypesByHandle()

Returns entry types that have a given handle.

View source

Arguments

Returns

craft\models\EntryType[]

Example

getEntryTypesBySectionId()

Returns a section’s entry types.

View source

Arguments

Returns

craft\models\EntryType[]

Example

getSectionByHandle()

Gets a section by its handle.

View source

Arguments

Returns

craft\models\Section, null

Example

getSectionById()

Returns a section by its ID.

View source

Arguments

Returns

craft\models\Section, null

Example

getSectionByUid()

Since
3.1.0

Gets a section by its UID.

View source

Arguments

Returns

craft\models\Section, null

Example

getSectionSiteSettings()

Returns a section’s site-specific settings.

View source

Arguments

Returns

craft\models\Section_SiteSettings[] – The section’s site-specific settings.

getSectionsByType()

Returns all sections of a given type.

View source

Arguments

  • $type (string) – The section type (single, channel, or structure)

Returns

craft\models\Section[] – All the sections of the given type.

Example

getTotalEditableSections()

Gets the total number of sections that are editable by the current user.

View source

Returns

integer

Example

getTotalSections()

Gets the total number of sections.

View source

Returns

integer

Example

handleChangedEntryType()

Handle entry type change

View source

Arguments

handleChangedSection()

Handle section change

View source

Arguments

handleDeletedEntryType()

Handle an entry type getting deleted

View source

Arguments

handleDeletedSection()

Handle a section getting deleted

View source

Arguments

isSectionTemplateValid()

DEPRECATED

Deprecated in 3.3

Returns whether a section’s entries have URLs for the given site ID, and if the section’s template path is valid.

View source

Arguments

Returns

boolean

pruneDeletedField()

Since
3.1.20

Prune a deleted field from entry type layouts.

View source

Arguments

pruneDeletedSite()

Prune a deleted site from section site settings.

View source

Arguments

reorderEntryTypes()

Reorders entry types.

View source

Arguments

Returns

boolean – Whether the entry types were reordered successfully

Throws

saveEntryType()

Saves an entry type.

View source

Arguments

Returns

boolean – Whether the entry type was saved successfully

Throws

saveSection()

Saves a section.

View source

Arguments

Returns

boolean

Throws

Example

Constants

ConstantDescription
CONFIG_ENTRYTYPES_KEY
CONFIG_SECTIONS_KEY

Events

EVENT_AFTER_DELETE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent

The event that is triggered after an entry type is deleted.

EVENT_AFTER_DELETE_SECTION

Type
craft\events\SectionEvent

The event that is triggered after a section is deleted.

EVENT_AFTER_SAVE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent

The event that is triggered after an entry type is saved.

EVENT_AFTER_SAVE_SECTION

Type
craft\events\SectionEvent

The event that is triggered after a section is saved.

EVENT_BEFORE_APPLY_ENTRY_TYPE_DELETE

Type
craft\events\EntryTypeEvent
Since
3.1.0

The event that is triggered before an entry type delete is applied to the database.

EVENT_BEFORE_APPLY_SECTION_DELETE

Type
craft\events\SectionEvent
Since
3.1.0

The event that is triggered before a section delete is applied to the database.

EVENT_BEFORE_DELETE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent

The event that is triggered before an entry type is deleted.

EVENT_BEFORE_DELETE_SECTION

Type
craft\events\SectionEvent

The event that is triggered before a section is deleted.

EVENT_BEFORE_SAVE_ENTRY_TYPE

Type
craft\events\EntryTypeEvent

The event that is triggered before an entry type is saved.

EVENT_BEFORE_SAVE_SECTION

Type
craft\events\SectionEvent

The event that is triggered before a section is saved.