EventController.php 1.39 KB
<?php

namespace frontend\controllers;

use Yii;
use common\models\Event;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\data\ActiveDataProvider;



class EventController extends Controller
{

    public function actionIndex()
    {

        $dataProvider = new ActiveDataProvider([
            'query' => Event::find() ]);

        return $this->render('index', [
            'dataProvider' => $dataProvider,
        ]);
    }



    public function actionShow($alias)
    {

        $model = $this->findModel($alias);
        $productProvider = new ActiveDataProvider([
            'query' => $model->getProducts(),
        ]);
        return $this->render('show', [
            'productProvider' => $productProvider,
            'model' => $model,
        ]);
    }

    public function actionSale($percent)
    {

        $model = Event::find()->where(['percent'=>$percent])->one();
        $productProvider = new ActiveDataProvider([
            'query' => $model->getProducts(),
        ]);
        return $this->render('show', [
            'productProvider' => $productProvider,
            'model' => $model,
        ]);
    }

    protected function findModel($alias)
    {
        if (($model = Event::findOne(["alias"=>$alias])) !== null) {
            return $model;
        } else {
            throw new NotFoundHttpException('The requested page does not exist.');
        }
    }


}