putyourlightson/craft-element-status-events
Element status events extension for Craft CMS.
Maintainers
Package info
github.com/putyourlightson/craft-element-status-events
Type:yii2-extension
pkg:composer/putyourlightson/craft-element-status-events
Requires
- craftcms/cms: ^3.0.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT 6e6efd13b665f47dc96d1ded720782c59b6d7752
README
The Element Status Events extension provides events that are triggered whenever an element’s status changes. It is intended to be used a helper component for other Craft modules and plugins.
To get an understanding of how the module works, read the Challenge #6 – The Chicken or the Egg solution.
Requirements
This extension requires Craft CMS 3.0.0 or later.
Usage
Install it manually using composer or add it as a dependency to your plugin.
composer require putyourlightson/craft-element-status-events
If you work with scheduled Entries (future published or expired), make sure to set up cron that calls:
php craft element-status-events/scheduled
Events
Whenever an element’s status is changed, ElementStatusEvents::EVENT_STATUS_CHANGED is fired. The StatusChangeEvent object provides information about the change.
use putyourlightson\elementstatusevents\ElementStatusEvents; use putyourlightson\elementstatusevents\events\StatusChangeEvent; // ... Event::on( ElementStatusEvents::class, ElementStatusEvents::EVENT_STATUS_CHANGED, function(StatusChangeEvent $event) { $oldStatus = $event->statusBeforeSave; $newStatus = $event->element->getStatus(); $isLive = $event->changedToPublished(); $isDeath = $event->changedToUnpublished(); $isScheduled = $event->changedTo('pending'); } );
License
This extension is licensed for free under the MIT License.
Created by PutYourLightsOn in cooperation with Oliver Stark
