Carousel
API reference › Bootstrap 6 › Carousel
Renders a Bootstrap carousel with optional previous/next controls, play/pause control, and indicators.
The plugin is always initialized so that the indicators follow the visible slide.
See also: https://getbootstrap.com/docs/6.0/components/carousel/.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$autoIdPrefix static | string | The prefix to the automatically generated widget IDs. Default: 'w'. | yii\ |
$autoplay | bool | Whether to cycle the slides automatically on page load (data-bs-autoplay="true"). Default: false. | Carousel |
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$clientEvents | array<string, yii\| | Event handlers attached to the widget element, as event name => JavaScript handler source. Default: []. | BootstrapWidgetTrait |
$clientOptions | array<string, | Options passed to the plugin constructor, or false to skip the JavaScript initialization. Default: []. | BootstrapWidgetTrait |
$controls | array<int, | Visually hidden labels of the previous and next controls, as [previous,, or false to omit the controls. Default: []. | Carousel |
$controlsOptions | array<string, | HTML attributes of the element wrapping the controls and the indicators. Default: []. | Carousel |
$crossfade | bool | Whether to fade between slides instead of sliding (.carousel-fade). Default: false. | Carousel |
$ends | yii2\| | Behavior at the first and last slides (data-bs-ends), or null for the default loop. Default: null. | Carousel |
$id | string | Id of the widget. | yii\ |
$indicatorLabel | string|Stringable | Accessible label of each indicator; {number} is replaced with the slide number starting at 1. Default: 'Slide {number}'. | Carousel |
$interval | int| | Delay in milliseconds between slides when cycling (data-bs-interval), or null for the default. Default: null. | Carousel |
$items | array<array-key,yii2\|Stringable> | Carousel slides: CarouselItem instances, arrays converted through CarouselItem::fromArray(), or the slide content (not encoded). Default: []. | Carousel |
$keyboard | bool| | Whether the carousel reacts to keyboard events (data-bs-keyboard), or null for the default. Default: null. | Carousel |
$options | array<string, | HTML attributes of the widget container tag. Default: []. | Widget |
$overlay | bool | Whether to overlay the controls on the slides (.carousel-overlay). Default: false. | Carousel |
$pause | string| | Pause behavior on hover (data-bs-pause): hover, false to never pause, or null for the default. Default: null. | Carousel |
$playPause | bool | Whether to render the play/pause control (.carousel-control-play-pause). Default: false. | Carousel |
$showIndicators | bool | Whether to render the slide indicators. Default: true. | Carousel |
$view | yii\ | The view object that can be used to render views or view files. | yii\ |
$viewPath read-only | string | The directory containing the view files for this widget. | yii\ |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__clone() | This method is called after the object is created by cloning an existing one. | yii\ |
__get() | Returns the value of a component property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets the value of a component property. | yii\ |
__unset() | Sets a component property to be null. | yii\ |
addAttributes() | Adds a set of HTML attributes; attributes already set with the same name are replaced. | AttributesTrait |
addClass() | Adds one or more CSS classes to the existing classes; duplicated classes are collapsed. | AttributesTrait |
addCssStyle() | Adds CSS style properties to the style attribute. | AttributesTrait |
afterRun() | This method is invoked right after a widget is executed. | yii\ |
attachBehavior() | Attaches a behavior to this component. | yii\ |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\ |
attribute() | Sets an HTML attribute value. | AttributesTrait |
beforeRun() | This method is invoked right before the widget is executed. | yii\ |
begin() static | Begins a widget. | yii\ |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
class() | Replaces the existing CSS classes with the specified ones. | AttributesTrait |
className() static | Returns the fully qualified name of this class. | yii\ |
detachBehavior() | Detaches a behavior from the component. | yii\ |
detachBehaviors() | Detaches all behaviors from the component. | yii\ |
end() static | Ends a widget. | yii\ |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\ |
getBehavior() | Returns the named behavior object. | yii\ |
getBehaviors() | Returns all behaviors attached to this component. | yii\ |
getId() | Returns the ID of the widget. | yii\ |
getView() | Returns the view object that can be used to render views or view files. | yii\ |
getViewPath() | Returns the directory containing the view files for this widget. | yii\ |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\ |
init() | Initializes the widget and validates $ends. | Carousel |
off() | Detaches an existing event handler from this component. | yii\ |
on() | Attaches an event handler to an event. | yii\ |
render() | Renders a view. | yii\ |
renderFile() | Renders a view file. | yii\ |
run() | Carousel | |
setId() | Sets the ID of the widget. | yii\ |
setView() | Sets the view object to be used by this widget. | yii\ |
trigger() | Triggers an event. | yii\ |
widget() static | Creates a widget instance and runs it. | yii\ |
carouselOptions() protected | Returns the HTML attributes of the .carousel element. | Carousel |
pluginInitialization() protected | Returns the JavaScript that initializes a plugin with its normalized constructor options. | BootstrapWidgetTrait |
registerClientEvents() protected | Registers the JavaScript event handlers listed in $clientEvents at View::POS_END. | BootstrapWidgetTrait |
registerPlugin() protected | Registers the plugin asset, the plugin initialization when needed, and the $clientEvents. | BootstrapWidgetTrait |
renderControls() protected | Renders the previous/next and play/pause controls with the indicators, or an empty string when all are disabled. | Carousel |
renderIndicators() protected | Renders the .carousel-indicators element. | Carousel |
renderItem() protected | Renders a single .carousel-item element. | Carousel |
renderItems() protected | Renders the .carousel-inner element with every slide. | Carousel |
Events
Section titled “Events”| Event | Type | Description | Defined by |
|---|---|---|---|
EVENT_INIT | yii\ | An event that is triggered when the widget is initialized via init(). Event name: 'init'. Available since 2.0.11. | yii\ |
EVENT_BEFORE_RUN | yii\ | An event raised right before executing a widget. Event name: 'beforeRun'. Available since 2.0.11. | yii\ |
EVENT_AFTER_RUN | yii\ | An event raised right after executing a widget. Event name: 'afterRun'. Available since 2.0.11. | yii\ |
Property details
Section titled “Property details”$controls
Section titled “$controls ”public array<int, string>|false $controls = []Visually hidden labels of the previous and next controls, as [previous, next], or false to omit the controls.
Missing labels default to the translated Previous and Next.
$items
Section titled “$items ”public array<array-key, array<string, mixed>|yii2\extensions\bootstrap6\item\CarouselItem|string|Stringable> $items = []Carousel slides: CarouselItem instances, arrays converted through CarouselItem::fromArray(), or the
slide content (not encoded).
An array item accepts the following options:
content:string|Stringable, required, slide content (not encoded).options:array, HTML attributes of the.carousel-itemelement.
The first slide is the active one.
Method details
Section titled “Method details”init()
Section titled “init() ”public function init(): voidInitializes the widget and validates $ends.
Throws
yii\base\InvalidConfigException: if$endsis not aCarouselEndsvalue.
run()
Section titled “run() ”public function run(): stringReturns
string
Throws
yii\base\InvalidConfigException: if$itemsis empty or an item lacks itscontentoption.
carouselOptions()
Section titled “carouselOptions() ”protected function carouselOptions(): mixed[]Returns the HTML attributes of the .carousel element.
Returns
mixed[]
renderControls()
Section titled “renderControls() ”protected function renderControls(): stringRenders the previous/next and play/pause controls with the indicators, or an empty string when all are disabled.
Returns
string
renderIndicators()
Section titled “renderIndicators() ”protected function renderIndicators(): stringRenders the .carousel-indicators element.
Returns
string
renderItem()
Section titled “renderItem() ”protected function renderItem(yii2\extensions\bootstrap6\item\CarouselItem $item, int $index): stringRenders a single .carousel-item element.
Parameters
| Parameter | Type | Description |
|---|---|---|
$item | yii2\ | |
$index | int | Zero-based position of the item. |
Returns
string
renderItems()
Section titled “renderItems() ”protected function renderItems(): stringRenders the .carousel-inner element with every slide.