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
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 ​

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

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.