/** * Render widget * @return string */ public function run() { $this->itemsComponent->setPluginProperties($this->clientOptions); $this->registerPlugin(); $this->_content['slides'] = Html::tag($this->getClientOptionsProperty('slidesContainer'), '', ['class' => 'slides']); $cssClasses = ['blueimp-gallery']; if (ArrayHelper::getValue($this->itemsComponent, 'enableLinksRendering', false)) { $cssClasses[] = 'blueimp-gallery-carousel'; } if ($this->controls && count($this->controls) > 0) { $cssClasses[] = 'blueimp-gallery-controls'; foreach (['prevClass', 'nextClass'] as $iteration => $propertyName) { $control = array_slice($this->controls, $iteration, 1); if ($control !== []) { $htmlOptions = []; $key = key($control); if (!is_numeric($key)) { $htmlOptions = $control[$key]; $label = $key; } else { $label = $control[$key]; } Html::addCssClass($htmlOptions, [$this->getClientOptionsProperty($propertyName)]); $this->_content['controls'] .= Html::a($label, null, $htmlOptions); } } } Html::addCssClass($this->options, $cssClasses); $this->_content['pause'] = Html::tag('div', '', ['class' => $this->getClientOptionsProperty('playPauseClass')]); if ($this->showIndicators) { $indicatorOptions = is_array($this->showIndicators) ? $this->showIndicators : []; Html::addCssClass($indicatorOptions, ['indicator']); $this->_content['indicator'] = Html::tag($this->getClientOptionsProperty('indicatorContainer'), '', $indicatorOptions); } return $this->renderContent(); }
public function setPluginProperties(&$options) { parent::setPluginProperties($options); $options['videoSourcesProperty'] = $this->videoSourcesProperty; $options['videoPosterProperty'] = $this->videoPosterProperty; }