yii2-cycle2
Cycle2 jQuery slide show for Yii 2.0
 
 
 , (*1)
, (*1)
yii2-cycle2 is a widget to render the excellent Cycle2 jQuery slideshow widget in the Yii 2.0 PHP Framework. Like a GridView, its data is fed from an ActiveDataProvider (or, more generally, from a class derived from BaseDataProvider)., (*2)
A demonstration of Yii2-cycle2 is here., (*3)
Installation
Install yii2-cycle2 with Composer. Either add the following to the require section of your composer.json file:, (*4)
"sjaakp/yii2-cycle2": "*", (*5)
Or run:, (*6)
composer require sjaakp/yii2-cycle2 "*", (*7)
You can manually install yii2-cycle2 by downloading the source in ZIP-format., (*8)
Using yii2-cycle2
yii2-cycle2 implements a widget of the class Cycle. It gets its data from an ActiveDataProvider, ArrayDataProvider, or other class derived from BaseDataProvider Using it is not unlike using a GridView. For instance, in the Controller you might have something like:, (*9)
<?php
// ...
public function actionPie() {
    $dataProvider = new ActiveDataProvider([
        'query' => NicePlace::find(),
        'pagination' => false
    ]);
    return $this->render('cycle', [
        'dataProvider' => $dataProvider
    ]);
}
// ...
?>
To render a Cycle in the View we could use:, (*10)
<?php
use sjaakp\cycle\Cycle;
?>
...
<?= Cycle::widget([
    'dataProvider' => $dataProvider,
    'imgAttribute' => 'photo',
    'captionAttributes' => [
        'name',
        'country'
    ],
    'overlayAttributes' => [
        'description'
    ],
    'options' => [
        'speed' => 2000
    ],
]) ?>
...
Options
Cycle has the following options:, (*11)
dataProvider
The data provider for the widget. This property is required. In most cases, it will be an ActiveDataProvider or an ArrayDataProvider., (*12)
imgAttribute
Image attribute, required., (*13)
- 
string: name of the attribute that holds the source URL for the slide image. Note that this could be a virtual attribute.
- 
callable: a callable with signaturefunction($model, $widget)that returns the source URL for the slide image.
urlAttribute
Link URL attribute, optional., (*14)
- 
null: the slides are not embedded in links (default).
- 
string: name of the attribute that holds the link URL for the slide. Note that this could be a virtual attribute.
- 
callable: a callable with signaturefunction($model, $widget)that returns the link URL for the slide.
Tooltip attribute, optional., (*15)
- 
null: the slides don't have tooltips (default).
- 
string: name of the attribute that holds the text or HTML for the slide tooltip. Note that this could be a virtual attribute.
- 
callable: a callable with signaturefunction($model, $widget)that returns the text or HTML for the slide tooltip.
captionAttributes, overlayAttributes
The attributes displayed in the caption or the overlay. See the Cycle2 documentation., (*16)
Members can be:, (*17)
- 
stringname of the attribute holding the text or HTML for the caption or overlay element;
- 
<key> => <value>where<key>is a name and<value>is
- the name of the attribute;
- or a callable with the signature function($model, $widget)returning the text or HTML.
 
The attribute values will be rendered inside Cycle's caption or overlay div, each inside its own span element with class "slide-<key>"., (*18)
content
Extra elements in the Cycle container, apart from the slides, caption, and overlay. Could be filled with elements like '<div class="cycle-pager"></div>' (see: Cycle2 pagers)., (*19)
plugins
Plugins for the Cycle2 jQuery widget. Notice that yii2-cycle2 attempts to load the required plugins automatically., (*20)
options
Client options for the underlying Cycle2 jQuery widget. Notice that the option names must be camelCased., (*21)
htmlOptions
HTML options of the Cycle container. Use this if you want to explicitly set the ID., (*22)
slideOptions
HTML options for each slide. One use would be to set this to: [ 'target' => '_blank' ], (*23)