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->getAssets().

View source

Public Properties ​

PropertyDescription
behaviors\yii\base\Behavior<static>[] – List of behaviors attached to this component.
currentUserTemporaryUploadFoldercraft\models\VolumeFolder
tempAssetUploadFscraft\base\FsInterface
totalAssetsinteger
userTemporaryUploadFoldercraft\models\VolumeFolder

currentUserTemporaryUploadFolder ​

Type
craft\models\VolumeFolder
Default value
null

View source

tempAssetUploadFs ​

Type
craft\base\FsInterface
Default value
null
Access
Read-only

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.
getTempAssetUploadFs()Get the Filesystem that should be used for temporary uploads.
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 ​

  • $parentFolder (craft\models\VolumeFolder)
  • $orderBy (string)
  • $withParent (boolean) – Whether the parent folder should be included in the results
  • $asTree (boolean) – Whether the folders should be returned hierarchically

Returns ​

array<int,\craft\models\VolumeFolder> – The descendant folders, indexed by their IDs

getAssetById() ​

Returns a file by its ID.

If no site ID is passed, the asset will be returned in the current site if it exists there, or in another site it exists in otherwise (e.g. for volumes with custom propagation).

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

getTempAssetUploadFs() ​

Get the Filesystem that should be used for temporary uploads.

If one is not specified, use a local folder wrapped in a Temp FS.

View source

Returns ​

craft\base\FsInterface

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.