Skip to content

Assets

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

Assets service.

An instance of the service is available via Craft::$app->assets.

View source

Public Properties

PropertyDescription
behaviorsyii\base\Behavior – List of behaviors attached to this component.
currentUserTemporaryUploadFoldercraft\models\VolumeFolder
tempVolumeAndSubpatharray
totalAssetsinteger
userTemporaryUploadFoldercraft\models\VolumeFolder

currentUserTemporaryUploadFolder

Type
craft\models\VolumeFolder
Default value
null

View source

tempVolumeAndSubpath

Type
array
Default value
null
Access
Read-only
Since
3.7.39

View source

totalAssets

Type
integer
Default value
null
Access
Read-only

View source

userTemporaryUploadFolder

Type
craft\models\VolumeFolder
Default value
null
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 a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be 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.
createFolder()Save a volume folder.
createFolderQuery()Returns a DbCommand object prepped for retrieving assets.
createTempAssetQuery()Creates an asset query that is configured to return assets in the temporary upload location.
deleteFoldersByIds()Deletes a folder 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.
ensureFolderByFullPathAndVolume()Ensures a folder entry exists in the DB for the full path. Depending on the use, it’s also possible to ensure a physical folder exists.
findFolder()Finds the first folder that matches a given criteria.
findFolders()Finds folders that match a given criteria.
foldersExist()Returns whether any folders exist which match a given criteria.
getAllDescendantFolders()Returns all of the folders that are descendants of a given folder.
getAssetById()Returns a file by its ID.
getAssetPreviewHandler()Returns the asset preview handler for a given asset, or null if the asset is not previewable.
getAssetUrl()Returns the URL for an asset, possibly with a given transform applied.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getFolderById()Returns a folder by its ID.
getFolderByUid()Returns a folder by its UUID.
getFolderTreeByFolderId()Returns the folder tree for assets by a folder ID.
getFolderTreeByVolumeIds()Returns a list of hierarchical folders for the given volume IDs, indexed by volume ID.
getIconPath()Returns a generic file extension icon path, that can be used as a fallback for assets that don't have a normal thumbnail.
getImagePreviewUrl()Returns an image asset’s URL, scaled to fit within a max width and height.
getNameReplacementInFolder()Find a replacement for a filename
getRootFolderByVolumeId()Returns the root folder for a given volume ID.
getTempVolumeAndSubpath()Returns the temporary volume and subpath, if set.
getThumbUrl()Returns the control panel thumbnail URL for a given asset.
getTotalAssets()Gets the total number of assets that match a given criteria.
getTotalFolders()Gets the total number of folders that match a given criteria.
getUserTemporaryUploadFolder()Returns the given user’s temporary upload folder.
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 for this component.
init()Initializes the object.
moveAsset()Move or rename an asset.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
renameFolderById()Renames a folder by its ID.
replaceAssetFile()Replace an asset's file.
storeFolderRecord()Store a folder by model
trigger()Triggers an event.

createFolder()

Save a volume folder.

View source

Arguments

Throws

createFolderQuery()

Since
4.4.0

Returns a DbCommand object prepped for retrieving assets.

View source

Returns

craft\db\Query

createTempAssetQuery()

Since
3.7.39

Creates an asset query that is configured to return assets in the temporary upload location.

View source

Returns

craft\elements\db\AssetQuery

Throws

deleteFoldersByIds()

Deletes a folder by its ID.

View source

Arguments

  • $folderIds (integer, array)
  • $deleteDir (boolean) – Should the volume directory be deleted along the record, if applicable. Defaults to true.

Throws

ensureFolderByFullPathAndVolume()

Ensures a folder entry exists in the DB for the full path. Depending on the use, it’s also possible to ensure a physical folder exists.

View source

Arguments

  • $fullPath (string) – The path to ensure the folder exists at.
  • $volume (craft\models\Volume)
  • $justRecord (boolean) – If set to false, will also make sure the physical folder exists on the volume.

Returns

craft\models\VolumeFolder

Throws

findFolder()

Finds the first folder that matches a given criteria.

View source

Arguments

  • $criteria (mixed)

Returns

craft\models\VolumeFolder, null

findFolders()

Finds folders that match a given criteria.

View source

Arguments

  • $criteria (mixed)

Returns

craft\models\VolumeFolder[]

foldersExist()

Since
4.4.0

Returns whether any folders exist which match a given criteria.

View source

Arguments

  • $criteria (mixed)

Returns

boolean

getAllDescendantFolders()

Returns all of the folders that are descendants of a given folder.

View source

Arguments

Returns

craft\models\VolumeFolder[]

getAssetById()

Returns a file by its ID.

View source

Arguments

Returns

craft\elements\Asset, null

getAssetPreviewHandler()

Since
3.4.0

Returns the asset preview handler for a given asset, or null if the asset is not previewable.

View source

Arguments

Returns

craft\base\AssetPreviewHandlerInterface, null

getAssetUrl()

DEPRECATED

Deprecated in 4.0.0. craft\elements\Asset::getUrl() should be used instead.

Returns the URL for an asset, possibly with a given transform applied.

View source

Arguments

Returns

string, null

Throws

getFolderById()

Returns a folder by its ID.

View source

Arguments

Returns

craft\models\VolumeFolder, null

getFolderByUid()

Returns a folder by its UUID.

View source

Arguments

Returns

craft\models\VolumeFolder, null

getFolderTreeByFolderId()

DEPRECATED

Deprecated in 4.4.0

Returns the folder tree for assets by a folder ID.

View source

Arguments

Returns

array

getFolderTreeByVolumeIds()

DEPRECATED

Deprecated in 4.4.0

Returns a list of hierarchical folders for the given volume IDs, indexed by volume ID.

View source

Arguments

  • $volumeIds (array)
  • $additionalCriteria (array) – Additional criteria for filtering the tree

Returns

array

getIconPath()

DEPRECATED

Deprecated in 4.0.0. craft\helpers\Assets::iconSvg() or Asset::getThumbSvg() should be used instead.

Returns a generic file extension icon path, that can be used as a fallback for assets that don't have a normal thumbnail.

View source

Arguments

Returns

string

getImagePreviewUrl()

Since
4.0.0

Returns an image asset’s URL, scaled to fit within a max width and height.

View source

Arguments

Returns

string

Throws

getNameReplacementInFolder()

Find a replacement for a filename

View source

Arguments

  • $originalFilename (string) – The original filename for which to find a replacement.
  • $folderId (integer) – The folder in which to find the replacement

Returns

string – If a suitable filename replacement cannot be found.

Throws

getRootFolderByVolumeId()

Returns the root folder for a given volume ID.

View source

Arguments

  • $volumeId (integer) – The volume ID

Returns

craft\models\VolumeFolder, null – The root folder in that volume, or null if the volume doesn’t exist

getTempVolumeAndSubpath()

Since
3.7.39

Returns the temporary volume and subpath, if set.

View source

Returns

array

Throws

getThumbUrl()

Returns the control panel thumbnail URL for a given asset.

View source

Arguments

  • $asset (craft\elements\Asset) – Asset to return a thumb for
  • $width (integer) – Width of the returned thumb
  • $height (integer, null) – Height of the returned thumb (defaults to $width if null)
  • $iconFallback (boolean) – Whether an icon URL fallback should be returned as a fallback

Returns

string, null

getTotalAssets()

Gets the total number of assets that match a given criteria.

View source

Arguments

  • $criteria (mixed)

Returns

integer

getTotalFolders()

Gets the total number of folders that match a given criteria.

View source

Arguments

  • $criteria (mixed)

Returns

integer

getUserTemporaryUploadFolder()

Returns the given user’s temporary upload folder.

If no user is provided, the currently-logged in user will be used (if there is one), or a folder named after the current session ID.

View source

Arguments

Returns

craft\models\VolumeFolder

Throws

moveAsset()

Move or rename an asset.

View source

Arguments

Returns

boolean – Whether the asset was renamed successfully

renameFolderById()

Renames a folder by its ID.

View source

Arguments

Returns

string – The new folder name after cleaning it.

Throws

replaceAssetFile()

Replace an asset's file.

View source

Arguments

storeFolderRecord()

Store a folder by model

View source

Arguments

Events

EVENT_AFTER_REPLACE_ASSET

Type
craft\events\ReplaceAssetEvent

The event that is triggered after an asset is replaced.


EVENT_BEFORE_REPLACE_ASSET

Type
craft\events\ReplaceAssetEvent

The event that is triggered before an asset is replaced.


EVENT_DEFINE_THUMB_URL

Type
craft\events\DefineAssetThumbUrlEvent
Since
4.0.0

The event that is triggered when a thumbnail is being requested for an asset.

See also getThumbUrl()


EVENT_REGISTER_PREVIEW_HANDLER

Type
craft\events\AssetPreviewEvent
Since
3.4.0

The event that is triggered when determining the preview handler for an asset.