Volumes

Type
Class
Namespace
craft\services
Inherits
craft\services\Volumes » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.0.0

Class AssetVolumesService

See also http://craftcms.com

View source

# Public Properties

# allVolumeIds

Type
integer[]
Access
Read-only

View source

# allVolumeTypes

Type
string[]
Access
Read-only

View source

# allVolumes

Type
craft\base\VolumeInterface[]
Access
Read-only

View source

# publicVolumeIds

Type
integer[]
Access
Read-only

View source

# publicVolumes

Type
craft\base\VolumeInterface[]
Access
Read-only

View source

# totalViewableVolumes

Type
integer
Access
Read-only

View source

# totalVolumes

Type
integer
Access
Read-only

View source

# viewableVolumeIds

Type
array
Access
Read-only

View source

# viewableVolumes

Type
craft\base\VolumeInterface[]
Access
Read-only

View source

# 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 an object property.
__isset() Checks if a property is set, i.e. defined and not null.
__set() Sets value of an object property.
__unset() Sets an object property to 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.
createVolume() Creates an asset volume with a given config.
deleteVolume() Deletes an asset volume.
deleteVolumeById() Deletes an asset volume 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.
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() Returns the named behavior object.
getBehaviors() 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() 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.
init() Initializes the object.
off() Detaches an existing event handler from this component.
on() Attaches an event handler to an event.
pruneDeletedField() Prune a deleted field from volume layouts.
reorderVolumes() Reorders asset volumes.
saveVolume() Creates or updates a volume.
trigger() Triggers an event.

# createVolume()

Creates an asset volume with a given config.

View source

Arguments

  • $config (mixed) – The asset volume’s class name, or its config, with a type value and optionally a settings value

Returns

craft\base\VolumeInterface – The asset volume

# deleteVolume()

Deletes an asset volume.

View source

Arguments

Returns

boolean

Throws

# deleteVolumeById()

Deletes an asset volume by its ID.

View source

Arguments

Returns

boolean

Throws

# ensureTopFolder()

Ensures a top level folder exists that matches the model.

View source

Arguments

Returns

integer

# getAllVolumeIds()

Returns all of the volume IDs.

View source

Returns

integer[]

# getAllVolumeTypes()

Returns all registered volume types.

View source

Returns

string[]

# getAllVolumes()

Returns all volumes.

View source

Returns

craft\base\VolumeInterface[]

# getPublicVolumeIds()

Returns all volume IDs that have public URLs.

View source

Returns

integer[]

# getPublicVolumes()

Returns all volumes that have public URLs.

View source

Returns

craft\base\VolumeInterface[]

# getTotalViewableVolumes()

Returns the total number of volumes that are viewable by the current user.

View source

Returns

integer

# getTotalVolumes()

Returns the total number of volumes.

View source

Returns

integer

# getViewableVolumeIds()

Returns all volume IDs that are viewable by the current user.

View source

Returns

array

# getViewableVolumes()

Returns all volumes that are viewable by the current user.

View source

Returns

craft\base\VolumeInterface[]

# getVolumeByHandle()

Returns a volume by its handle.

View source

Arguments

Returns

craft\base\VolumeInterface, null

# getVolumeById()

Returns a volume by its ID.

View source

Arguments

Returns

craft\base\VolumeInterface, null

# getVolumeByUid()

Returns a volume by its UID.

View source

Arguments

Returns

craft\base\VolumeInterface, null

# getVolumeOverrides()

Returns any custom volume config values.

View source

Arguments

  • $handle (string) – The volume handle

Returns

array, null

# handleChangedVolume()

Handle volume change

View source

Arguments

# handleDeletedVolume()

Handle volume getting deleted

View source

Arguments

# pruneDeletedField()

Prune a deleted field from volume layouts.

View source

Arguments

# reorderVolumes()

Reorders asset volumes.

View source

Arguments

Returns

boolean

Throws

# saveVolume()

Creates or updates a volume.

View source

Arguments

Returns

boolean – 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

Type
craft\events\VolumeEvent

The event that is triggered after a Asset volume is deleted.

# EVENT_AFTER_SAVE_VOLUME

Type
craft\events\VolumeEvent

The event that is triggered after an Asset 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

Type
craft\events\VolumeEvent

The event that is triggered before an Asset volume is deleted.

# EVENT_BEFORE_SAVE_VOLUME

Type
craft\events\VolumeEvent

The event that is triggered before an Asset volume is saved.

# EVENT_REGISTER_VOLUME_TYPES

Type
craft\events\RegisterComponentTypesEvent

The event that is triggered when registering volume types.

Volume types must implement craft\base\VolumeInterface. craft\base\Volume provides a base implementation.

See Volume Types 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;
    }
);