Skip to content
PHP Ecosystem
Explore

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/.

PropertyTypeDescriptionDefined by
$autoIdPrefix staticstringThe prefix to the automatically generated widget IDs. Default: 'w'.yii\base\Widget
$autoplayboolWhether to cycle the slides automatically on page load (data-bs-autoplay="true"). Default: false.Carousel
$behaviors read-onlyarray<yii\base\Behavior<static>>List of behaviors attached to this component.yii\base\Component
$clientEventsarray<string, yii\web\JsExpression|string>Event handlers attached to the widget element, as event name => JavaScript handler source. Default: [].BootstrapWidgetTrait
$clientOptionsarray<string, mixed>|falseOptions passed to the plugin constructor, or false to skip the JavaScript initialization. Default: [].BootstrapWidgetTrait
$controlsarray<int, string>|falseVisually hidden labels of the previous and next controls, as [previous, next], or false to omit the controls. Default: [].Carousel
$controlsOptionsarray<string, mixed>HTML attributes of the element wrapping the controls and the indicators. Default: [].Carousel
$crossfadeboolWhether to fade between slides instead of sliding (.carousel-fade). Default: false.Carousel
$endsyii2\extensions\bootstrap6\enum\CarouselEnds|string|nullBehavior at the first and last slides (data-bs-ends), or null for the default loop. Default: null.Carousel
$idstringId of the widget.yii\base\Widget
$indicatorLabelstring|StringableAccessible label of each indicator; {number} is replaced with the slide number starting at 1. Default: 'Slide {number}'.Carousel
$intervalint|nullDelay in milliseconds between slides when cycling (data-bs-interval), or null for the default. Default: null.Carousel
$itemsarray<array-key, array<string, mixed>|yii2\extensions\bootstrap6\item\CarouselItem|string|Stringable>Carousel slides: CarouselItem instances, arrays converted through CarouselItem::fromArray(), or the slide content (not encoded). Default: [].Carousel
$keyboardbool|nullWhether the carousel reacts to keyboard events (data-bs-keyboard), or null for the default. Default: null.Carousel
$optionsarray<string, mixed>HTML attributes of the widget container tag. Default: [].Widget
$overlayboolWhether to overlay the controls on the slides (.carousel-overlay). Default: false.Carousel
$pausestring|false|nullPause behavior on hover (data-bs-pause): hover, false to never pause, or null for the default. Default: null.Carousel
$playPauseboolWhether to render the play/pause control (.carousel-control-play-pause). Default: false.Carousel
$showIndicatorsboolWhether to render the slide indicators. Default: true.Carousel
$viewyii\web\ViewThe view object that can be used to render views or view files.yii\base\Widget
$viewPath read-onlystringThe directory containing the view files for this widget.yii\base\Widget
MethodDescriptionDefined by
__construct()Constructor.yii\base\BaseObject
__call()Calls the named method which is not a class method.yii\base\Component
__clone()This method is called after the object is created by cloning an existing one.yii\base\Component
__get()Returns the value of a component property.yii\base\Component
__isset()Checks if a property is set, i.e. defined and not null.yii\base\Component
__set()Sets the value of a component property.yii\base\Component
__unset()Sets a component property to be null.yii\base\Component
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\base\Widget
attachBehavior()Attaches a behavior to this component.yii\base\Component
attachBehaviors()Attaches a list of behaviors to the component.yii\base\Component
attribute()Sets an HTML attribute value.AttributesTrait
beforeRun()This method is invoked right before the widget is executed.yii\base\Widget
begin() staticBegins a widget.yii\base\Widget
behaviors()Returns a list of behaviors that this component should behave as.yii\base\Component
canGetProperty()Returns a value indicating whether a property can be read.yii\base\Component
canSetProperty()Returns a value indicating whether a property can be set.yii\base\Component
class()Replaces the existing CSS classes with the specified ones.AttributesTrait
className() staticReturns the fully qualified name of this class.yii\base\BaseObject
detachBehavior()Detaches a behavior from the component.yii\base\Component
detachBehaviors()Detaches all behaviors from the component.yii\base\Component
end() staticEnds a widget.yii\base\Widget
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.yii\base\Component
getBehavior()Returns the named behavior object.yii\base\Component
getBehaviors()Returns all behaviors attached to this component.yii\base\Component
getId()Returns the ID of the widget.yii\base\Widget
getView()Returns the view object that can be used to render views or view files.yii\base\Widget
getViewPath()Returns the directory containing the view files for this widget.yii\base\Widget
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.yii\base\Component
hasMethod()Returns a value indicating whether a method is defined.yii\base\Component
hasProperty()Returns a value indicating whether a property is defined for this component.yii\base\Component
init()Initializes the widget and validates $ends.Carousel
off()Detaches an existing event handler from this component.yii\base\Component
on()Attaches an event handler to an event.yii\base\Component
render()Renders a view.yii\base\Widget
renderFile()Renders a view file.yii\base\Widget
run()Carousel
setId()Sets the ID of the widget.yii\base\Widget
setView()Sets the view object to be used by this widget.yii\base\Widget
trigger()Triggers an event.yii\base\Component
widget() staticCreates a widget instance and runs it.yii\base\Widget
carouselOptions() protectedReturns the HTML attributes of the .carousel element.Carousel
pluginInitialization() protectedReturns the JavaScript that initializes a plugin with its normalized constructor options.BootstrapWidgetTrait
registerClientEvents() protectedRegisters the JavaScript event handlers listed in $clientEvents at View::POS_END.BootstrapWidgetTrait
registerPlugin() protectedRegisters the plugin asset, the plugin initialization when needed, and the $clientEvents.BootstrapWidgetTrait
renderControls() protectedRenders the previous/next and play/pause controls with the indicators, or an empty string when all are disabled.Carousel
renderIndicators() protectedRenders the .carousel-indicators element.Carousel
renderItem() protectedRenders a single .carousel-item element.Carousel
renderItems() protectedRenders the .carousel-inner element with every slide.Carousel
EventTypeDescriptionDefined by
EVENT_INITyii\base\EventAn event that is triggered when the widget is initialized via init(). Event name: 'init'. Available since 2.0.11.yii\base\Widget
EVENT_BEFORE_RUNyii\base\WidgetEventAn event raised right before executing a widget. Event name: 'beforeRun'. Available since 2.0.11.yii\base\Widget
EVENT_AFTER_RUNyii\base\WidgetEventAn event raised right after executing a widget. Event name: 'afterRun'. Available since 2.0.11.yii\base\Widget
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.

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-item element.

The first slide is the active one.

public function init(): void

Initializes the widget and validates $ends.

public function run(): string

Returns

string

Throws

protected function carouselOptions(): mixed[]

Returns the HTML attributes of the .carousel element.

Returns

mixed[]

protected function renderControls(): string

Renders the previous/next and play/pause controls with the indicators, or an empty string when all are disabled.

Returns

string

protected function renderIndicators(): string

Renders the .carousel-indicators element.

Returns

string

protected function renderItem(yii2\extensions\bootstrap6\item\CarouselItem $item, int $index): string

Renders a single .carousel-item element.

Parameters

ParameterTypeDescription
$itemyii2\extensions\bootstrap6\item\CarouselItem
$indexintZero-based position of the item.

Returns

string

protected function renderItems(): string

Renders the .carousel-inner element with every slide.

Returns

string

Throws