yii2-cycle2
Cycle2 jQuery slide show for Yii 2.0
, (*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 signature function($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 signature function($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 signature function($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)
-
string
name 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)