Volumes
- Type
- Class
- Namespace
- craft\services
- Inherits
- craft\services\Volumes » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
- Implements
- yii\base\Configurable (opens new window)
- Since
- 3.0.0
Volumes service.
An instance of the service is available via Craft::$app->volumes()
.
View source (opens new window)
# Public Properties
# allVolumeIds
- Type
- integer (opens new window)[]
- Default value
null
- Access
- Read-only
View source (opens new window)
# allVolumeTypes
- Type
- string (opens new window)[]
- Default value
null
- Access
- Read-only
View source (opens new window)
# allVolumes
- Type
- craft\base\VolumeInterface[]
- Default value
null
- Access
- Read-only
View source (opens new window)
# publicVolumeIds
- Type
- integer (opens new window)[]
- Default value
null
- Access
- Read-only
View source (opens new window)
# publicVolumes
- Type
- craft\base\VolumeInterface[]
- Default value
null
- Access
- Read-only
View source (opens new window)
# totalViewableVolumes
- Type
- integer (opens new window)
- Default value
null
- Access
- Read-only
View source (opens new window)
# totalVolumes
- Type
- integer (opens new window)
- Default value
null
- Access
- Read-only
View source (opens new window)
# viewableVolumeIds
- Type
- array (opens new window)
- Default value
null
- Access
- Read-only
View source (opens new window)
# viewableVolumes
- Type
- craft\base\VolumeInterface[]
- Default value
null
- Access
- Read-only
View source (opens new window)
# Public Methods
Method | Description |
---|---|
__call() (opens new window) | Calls the named method which is not a class method. |
__clone() (opens new window) | This method is called after the object is created by cloning an existing one. |
__construct() (opens new window) | Constructor. |
__get() (opens new window) | Returns the value of a component property. |
__isset() (opens new window) | Checks if a property is set, i.e. defined and not null. |
__serialize() | Serializer |
__set() (opens new window) | Sets the value of a component property. |
__unset() (opens new window) | Sets a component property to be null. |
attachBehavior() (opens new window) | Attaches a behavior to this component. |
attachBehaviors() (opens new window) | Attaches a list of behaviors to the component. |
behaviors() (opens new window) | Returns a list of behaviors that this component should behave as. |
canGetProperty() (opens new window) | Returns a value indicating whether a property can be read. |
canSetProperty() (opens new window) | Returns a value indicating whether a property can be set. |
className() (opens new window) | Returns the fully qualified name of this class. |
createVolume() | Creates an asset volume with a given config. |
createVolumeConfig() | Returns the config for the given volume. |
deleteVolume() | Deletes an asset volume. |
deleteVolumeById() | Deletes an asset volume by its ID. |
detachBehavior() (opens new window) | Detaches a behavior from the component. |
detachBehaviors() (opens new window) | Detaches all behaviors from the component. |
ensureBehaviors() (opens new window) | Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component. |
ensureTopFolder() | Ensures a top level folder exists that matches the model. |
getAllVolumeIds() | Returns all of the volume IDs. |
getAllVolumeTypes() | Returns all registered volume types. |
getAllVolumes() | Returns all volumes. |
getBehavior() (opens new window) | Returns the named behavior object. |
getBehaviors() (opens new window) | Returns all behaviors attached to this component. |
getPublicVolumeIds() | Returns all volume IDs that have public URLs. |
getPublicVolumes() | Returns all volumes that have public URLs. |
getTotalViewableVolumes() | Returns the total number of volumes that are viewable by the current user. |
getTotalVolumes() | Returns the total number of volumes. |
getViewableVolumeIds() | Returns all volume IDs that are viewable by the current user. |
getViewableVolumes() | Returns all volumes that are viewable by the current user. |
getVolumeByHandle() | Returns a volume by its handle. |
getVolumeById() | Returns a volume by its ID. |
getVolumeByUid() | Returns a volume by its UID. |
getVolumeOverrides() | Returns any custom volume config values. |
handleChangedVolume() | Handle volume change |
handleDeletedVolume() | Handle volume getting deleted |
hasEventHandlers() (opens new window) | Returns a value indicating whether there is any handler attached to the named event. |
hasMethod() (opens new window) | Returns a value indicating whether a method is defined. |
hasProperty() (opens new window) | Returns a value indicating whether a property is defined for this component. |
init() (opens new window) | Initializes the object. |
off() (opens new window) | Detaches an existing event handler from this component. |
on() (opens new window) | Attaches an event handler to an event. |
pruneDeletedField() | |
reorderVolumes() | Reorders asset volumes. |
saveVolume() | Creates or updates a volume. |
trigger() (opens new window) | Triggers an event. |
# __serialize()
- Since
- 3.5.14
Serializer
View source (opens new window)
# createVolume()
Creates an asset volume with a given config.
View source (opens new window)
Arguments
$config
(mixed
) – The asset volume’s class name, or its config, with atype
value and optionally asettings
value
Returns
craft\base\VolumeInterface – The asset volume
# createVolumeConfig()
- Since
- 3.5.0
Returns the config for the given volume.
View source (opens new window)
Arguments
$volume
(craft\base\VolumeInterface)
Returns
# deleteVolume()
Deletes an asset volume.
View source (opens new window)
Arguments
$volume
(craft\base\VolumeInterface) – The volume to delete
Returns
Throws
# deleteVolumeById()
Deletes an asset volume by its ID.
View source (opens new window)
Arguments
$volumeId
(integer (opens new window))
Returns
Throws
# ensureTopFolder()
Ensures a top level folder exists that matches the model.
View source (opens new window)
Arguments
$volume
(craft\base\VolumeInterface)
Returns
# getAllVolumeIds()
Returns all of the volume IDs.
View source (opens new window)
Returns
# getAllVolumeTypes()
Returns all registered volume types.
View source (opens new window)
Returns
# getAllVolumes()
Returns all volumes.
View source (opens new window)
Returns
# getPublicVolumeIds()
Returns all volume IDs that have public URLs.
View source (opens new window)
Returns
# getPublicVolumes()
Returns all volumes that have public URLs.
View source (opens new window)
Returns
# getTotalViewableVolumes()
Returns the total number of volumes that are viewable by the current user.
View source (opens new window)
Returns
# getTotalVolumes()
Returns the total number of volumes.
View source (opens new window)
Returns
# getViewableVolumeIds()
Returns all volume IDs that are viewable by the current user.
View source (opens new window)
Returns
# getViewableVolumes()
Returns all volumes that are viewable by the current user.
View source (opens new window)
Returns
# getVolumeByHandle()
Returns a volume by its handle.
View source (opens new window)
Arguments
$handle
(string (opens new window))
Returns
craft\base\VolumeInterface, null (opens new window)
# getVolumeById()
Returns a volume by its ID.
View source (opens new window)
Arguments
$volumeId
(integer (opens new window))
Returns
craft\base\VolumeInterface, null (opens new window)
# getVolumeByUid()
Returns a volume by its UID.
View source (opens new window)
Arguments
$volumeUid
(string (opens new window))
Returns
craft\base\VolumeInterface, null (opens new window)
# getVolumeOverrides()
DEPRECATED
Deprecated in 3.5.8. Environment variables (opens new window) or dependency injection (opens new window) should be used instead.
Returns any custom volume config values.
View source (opens new window)
Arguments
$handle
(string (opens new window)) – The volume handle
Returns
array (opens new window), null (opens new window)
# handleChangedVolume()
Handle volume change
View source (opens new window)
Arguments
$event
(craft\events\ConfigEvent)
# handleDeletedVolume()
Handle volume getting deleted
View source (opens new window)
Arguments
$event
(craft\events\ConfigEvent)
# pruneDeletedField()
DEPRECATED
Deprecated in 3.7.51. Unused fields will be pruned automatically as field layouts are resaved.
View source (opens new window)
# reorderVolumes()
Reorders asset volumes.
View source (opens new window)
Arguments
$volumeIds
(array (opens new window))
Returns
Throws
# saveVolume()
Creates or updates a volume.
View source (opens new window)
Arguments
$volume
(craft\base\VolumeInterface) – The volume to be saved.$runValidation
(boolean (opens new window)) – Whether the volume should be validated
Returns
boolean (opens new window) – Whether the volume was saved successfully
Throws
Example
use craft\volumes\Local;
$volume = new Local([
'name' => 'Content Images',
'handle' => 'contentImages',
'hasUrls' => true,
'url' => '$CONTENT_IMAGES_URL',
'path' => '$CONTENT_IMAGES_PATH',
]);
if (!Craft::$app->volumes->saveVolume(($volume))) {
throw new Exception('Couldn’t save volume.');
}
# Constants
Constant | Description |
---|---|
CONFIG_VOLUME_KEY |
# Events
# EVENT_AFTER_DELETE_VOLUME
The event that is triggered after a volume is deleted.
# EVENT_AFTER_SAVE_VOLUME
The event that is triggered after a volume is saved.
# EVENT_BEFORE_APPLY_VOLUME_DELETE
- Type
- craft\events\VolumeEvent
- Since
- 3.1.0
The event that is triggered before a volume delete is applied to the database.
# EVENT_BEFORE_DELETE_VOLUME
The event that is triggered before a volume is deleted.
# EVENT_BEFORE_SAVE_VOLUME
The event that is triggered before a volume is saved.
# EVENT_REGISTER_VOLUME_TYPES
The event that is triggered when registering volume types.
Volume types must implement craft\base\VolumeInterface. \craft\services\Volume
provides a base implementation.
See Volume Types (opens new window) for documentation on creating volume types.
Example
use craft\events\RegisterComponentTypesEvent;
use craft\services\Volumes;
use yii\base\Event;
Event::on(Volumes::class,
Volumes::EVENT_REGISTER_VOLUME_TYPES,
function(RegisterComponentTypesEvent $event) {
$event->types[] = MyVolumeType::class;
}
);