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
.
Public Properties ​
Property | Description |
---|---|
behaviors | yii\base\Behavior – List of behaviors attached to this component. |
currentUserTemporaryUploadFolder | craft\models\VolumeFolder |
tempAssetUploadFs | craft\base\FsInterface |
totalAssets | integer |
userTemporaryUploadFolder | craft\models\VolumeFolder |
currentUserTemporaryUploadFolder
​
- Type
- craft\models\VolumeFolder
- Default value
null
tempAssetUploadFs
​
- Type
- craft\base\FsInterface
- Default value
null
- Access
- Read-only
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. |
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.
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 ​
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
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.
Returns ​
Throws ​
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 ​
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.