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().
Public Properties ​
| Property | Description |
|---|---|
| behaviors | yii\base\Behavior – List of behaviors attached to this component. |
| currentUserTemporaryUploadFolder | craft\models\VolumeFolder |
| tempVolumeAndSubpath | array |
| totalAssets | integer |
| userTemporaryUploadFolder | craft\models\VolumeFolder |
currentUserTemporaryUploadFolder ​
- Type
- craft\models\VolumeFolder
- Default value
null
tempVolumeAndSubpath ​
- Type
- array
- Default value
null- Access
- Read-only
- Since
- 3.7.39
totalAssets ​
- Type
- integer
- Default value
null- Access
- Read-only
userTemporaryUploadFolder ​
- Type
- craft\models\VolumeFolder
- Default value
null- Access
- Read-only
Public Methods ​
| Method | Description |
|---|---|
| __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.
Arguments ​
$folder(craft\models\VolumeFolder)
Throws ​
- craft\errors\FsObjectExistsException
if a folder already exists with such a name - craft\errors\FsException
if unable to create the directory on volume - craft\errors\AssetException
if invalid folder provided
createFolderQuery() ​
- Since
- 4.4.0
Returns a DbCommand object prepped for retrieving assets.
Returns ​
createTempAssetQuery() ​
- Since
- 3.7.39
Creates an asset query that is configured to return assets in the temporary upload location.
Returns ​
Throws ​
- yii\base\InvalidConfigException
If the temp volume is invalid
deleteFoldersByIds() ​
Deletes a folder by its ID.
Arguments ​
$folderIds(integer, array)$deleteDir(boolean) – Should the volume directory be deleted along the record, if applicable. Defaults to true.
Throws ​
- yii\base\InvalidConfigException
if the volume cannot be fetched from folder.
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.
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 ​
Throws ​
- craft\errors\VolumeException
if something went catastrophically wrong creating the folder.
findFolder() ​
Finds the first folder that matches a given criteria.
Arguments ​
$criteria(mixed)
Returns ​
craft\models\VolumeFolder, null
findFolders() ​
Finds folders that match a given criteria.
Arguments ​
$criteria(mixed)
Returns ​
foldersExist() ​
- Since
- 4.4.0
Returns whether any folders exist which match a given criteria.
Arguments ​
$criteria(mixed)
Returns ​
getAllDescendantFolders() ​
Returns all of the folders that are descendants of a given folder.
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.
Arguments ​
Returns ​
getAssetPreviewHandler() ​
- Since
- 3.4.0
Returns the asset preview handler for a given asset, or null if the asset is not previewable.
Arguments ​
$asset(craft\elements\Asset)
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.
Arguments ​
$asset(craft\elements\Asset)$transform(craft\models\ImageTransform, string, array, null)
Returns ​
Throws ​
getFolderById() ​
Returns a folder by its ID.
Arguments ​
$folderId(integer)
Returns ​
craft\models\VolumeFolder, null
getFolderByUid() ​
Returns a folder by its UUID.
Arguments ​
$folderUid(string)
Returns ​
craft\models\VolumeFolder, null
getFolderTreeByFolderId() ​
DEPRECATED
Deprecated in 4.4.0
Returns the folder tree for assets by a folder ID.
Arguments ​
$folderId(integer)
Returns ​
getFolderTreeByVolumeIds() ​
DEPRECATED
Deprecated in 4.4.0
Returns a list of hierarchical folders for the given volume IDs, indexed by volume ID.
Arguments ​
Returns ​
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.
Arguments ​
$asset(craft\elements\Asset)
Returns ​
getImagePreviewUrl() ​
- Since
- 4.0.0
Returns an image asset’s URL, scaled to fit within a max width and height.
Arguments ​
$asset(craft\elements\Asset)$maxWidth(integer)$maxHeight(integer)
Returns ​
Throws ​
- yii\base\NotSupportedException
if the asset’s volume doesn’t have a filesystem with public URLs
getNameReplacementInFolder() ​
Find a replacement for a filename
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 ​
- craft\errors\AssetOperationException
If a suitable filename replacement cannot be found. - yii\base\InvalidConfigException
- craft\errors\VolumeException
getRootFolderByVolumeId() ​
Returns the root folder for a given volume ID.
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.
Returns ​
Throws ​
- yii\base\InvalidConfigException
If the temp volume is invalid
getThumbUrl() ​
Returns the control panel thumbnail URL for a given asset.
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 ​
getTotalAssets() ​
Gets the total number of assets that match a given criteria.
Arguments ​
$criteria(mixed)
Returns ​
getTotalFolders() ​
Gets the total number of folders that match a given criteria.
Arguments ​
$criteria(mixed)
Returns ​
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.
Arguments ​
$user(craft\elements\User, null)
Returns ​
Throws ​
- craft\errors\VolumeException
If no correct volume provided.
moveAsset() ​
Move or rename an asset.
Arguments ​
$asset(craft\elements\Asset) – The asset whose file should be renamed$folder(craft\models\VolumeFolder) – The volume folder to move the asset to.$filename(string) – The new filename
Returns ​
boolean – Whether the asset was renamed successfully
renameFolderById() ​
Renames a folder by its ID.
Arguments ​
Returns ​
string – The new folder name after cleaning it.
Throws ​
- craft\errors\AssetOperationException
If the folder to be renamed can't be found or trying to rename the top folder. - craft\errors\FsObjectExistsException
- craft\errors\FsObjectNotFoundException
replaceAssetFile() ​
Replace an asset's file.
Arguments ​
$asset(craft\elements\Asset)$pathOnServer(string)$filename(string)
storeFolderRecord() ​
Store a folder by model
Arguments ​
$folder(craft\models\VolumeFolder)
Events ​
EVENT_AFTER_REPLACE_ASSET ​
The event that is triggered after an asset is replaced.
EVENT_BEFORE_REPLACE_ASSET ​
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.