where([\common\models\Slider::tableName().'.title'=>$this->title])->joinWith("sliderImage")->one(); if (! empty ($slider)) { // изображения $images = $slider->sliderImage; if (! empty ($images)) { // подключаем jssor-slider $this->initSliderJs(); // скрипт-обработчик $this->initSliderScript($slider); // html return $this->htmlSlider($slider, $images); } } return $this->render('slider',[ 'slider'=>$slider ]); } // ==== DISPLAY ==== public function initSliderJs () { if (! $this->is_init_slider) { // TODO:: wiget подключение jcarousel $this->view->registerJsFile(\Yii::$app->request->baseUrl . '/js/widget-carousel/lib/jquery.jcarousel.min.js',[ 'position' => View::POS_END, 'depends' => ['yii\web\JqueryAsset'] ]); $this->is_init_slider = true; } } public function initSliderScript ($slider) { FlipclockAsset::register($this->view); $this->view->registerJs(' var '.$slider->title.'_option_1 = { $AutoPlayInterval: '.$slider->duration.', $SlideDuration: '.$slider->speed.', }; ', 1); $this->view->registerCssFile (\Yii::$app->request->BaseUrl . '/js/widget-carousel/'.$slider->title.'/style.css'); $this->view->registerJsFile(\Yii::$app->request->BaseUrl . '/js/widget-carousel/'.$slider->title.'/style.js',[ 'position' => View::POS_END, 'depends' => ['yii\web\JqueryAsset'] ]); } public function htmlSlider ($slider, $images) { ob_start(); if (! empty ($images)) { echo '
'; echo '
'; foreach ($images as $row) { if($row->isActive()){ echo '
'; if(!empty($row->end_at) && strtotime($row->end_at) > strtotime(date("Y-m-d"))){ ?>
url)) { echo ''; } if (empty ($row->image)) { $row->image = '/img/notpic.gif'; } echo ''.$row->alt.''; //echo '
'.$row->title.'
'; if (! empty ($row->url)) { echo '
'; } echo '
'; } } echo '
'; echo '
'; echo '
'; } return ob_get_clean(); } }