Edit on GitHub

Triggered in: System\Traits\AssetMaker.php

Provides an opportunity to inspect or modify an asset.

The parameters provided are: string $type: The type of the asset being added string $path: The path to the asset being added array $attributes: The array of attributes for the asset being added.

All the parameters are provided by reference for modification. This event is also a halting event, so returning false will prevent the current asset from being added. Note that duplicates are filtered out before the event is fired.

Example usage:

Event::listen('system.assets.beforeAddAsset', function (string &$type, string &$path, array &$attributes) {
    if (in_array($path, $blockedAssets)) {
        return false;


$this->bindEvent('assets.beforeAddAsset', function (string &$type, string &$path, array &$attributes) {
    $attributes['special_cdn_flag'] = false;

Keep informed

Sign up to our newsletter to receive updates on Winter CMS releases, new features in the works, and much more.
We'll never spam or give this address away.

Latest blog post

Winter.Notes plugin now available

Published January 14, 2022
Winter.Notes has just been released, a first-party Winter CMS plugin to add notes to any records in Winter through the use of a custom `notes` FormWidget that has a user experience similar to that of the Mac OS Notes app.

View this post Read all posts

Latest Winter CMS release


Released November 13, 2021
3 UX/UI Improvements, 3 API Changes, 6 Bug Fixes, 4 Translation Improvements, 3 Community Improvements

View details View all releases