putyourlightson / craft-element-status-events
为Craft CMS提供元素状态事件扩展。
2.0.1
2022-04-26 12:40 UTC
Requires
- craftcms/cms: ^3.0.0
README
元素状态事件扩展提供了在元素状态改变时触发的事件。它旨在作为其他Craft模块和插件的辅助组件使用。
要了解模块的工作方式,请阅读挑战#6 – 鸡生蛋还是蛋生鸡的解决方案。
需求
此扩展需要Craft CMS 3.0.0或更高版本。
使用方法
使用composer手动安装或将其添加为插件依赖项。
composer require putyourlightson/craft-element-status-events
如果您处理计划中的条目(未来发布或过期),请确保设置cron调用
php craft element-status-events/scheduled
事件
每当元素的状祝改变时,都会触发ElementStatusEvents::EVENT_STATUS_CHANGED
。StatusChangeEvent
对象提供了有关更改的信息。
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'); } );
许可
此扩展在MIT许可证下免费提供。