diff --git a/common/models/PortfolioSpecialization.php b/common/models/PortfolioSpecialization.php index cb04527..6a373e0 100644 --- a/common/models/PortfolioSpecialization.php +++ b/common/models/PortfolioSpecialization.php @@ -16,6 +16,8 @@ use Yii; */ class PortfolioSpecialization extends \yii\db\ActiveRecord { + + public $count; /** * @inheritdoc */ diff --git a/frontend/controllers/AccountsController.php b/frontend/controllers/AccountsController.php index 76948ee..c1af09d 100755 --- a/frontend/controllers/AccountsController.php +++ b/frontend/controllers/AccountsController.php @@ -466,8 +466,11 @@ if(!$portfolio instanceof ActiveRecord) { throw new NotFoundHttpException('Запись не найдена'); } + $specializations = Specialization::find()->where(['specialization_pid' => 0])->orderBy('specialization_id')->all(); + $post = \Yii::$app->request->post(); + if(!empty( $post )) { $portfolio->load($post); $portfolio->validate(); @@ -483,6 +486,7 @@ return $this->redirect('portfolio'); } } + return $this->render('_portfolio_form', [ 'portfolio' => $portfolio, 'specializations' => $specializations, diff --git a/frontend/controllers/PerformerController.php b/frontend/controllers/PerformerController.php index 99c67ff..cc42f5f 100755 --- a/frontend/controllers/PerformerController.php +++ b/frontend/controllers/PerformerController.php @@ -4,6 +4,8 @@ namespace frontend\controllers; use common\models\Blog; use common\models\Fields; use common\models\Gallery; +use common\models\Portfolio; +use common\models\PortfolioSpecialization; use Yii; use yii\data\ArrayDataProvider; use yii\data\Pagination; @@ -80,10 +82,23 @@ class PerformerController extends Controller if(!$user instanceof User){ throw new BadRequestHttpException('Пользователь не найден'); } + $projects = ArrayHelper::getColumn($user->portfolios,'portfolio_id'); + $filters = PortfolioSpecialization::find()->select(["specialization_id","COUNT('specialization_id') AS count"]) + ->where(["portfolio_id"=>$projects ])->groupBy("specialization_id")->all(); + + $portfolio = new ArrayDataProvider([ + 'allModels' => $user->portfolios, + 'pagination' => [ + 'pageSize' => 9, + ], + ]); + return $this->render('portfolio',[ - 'user' => $user + 'user' => $user, + 'filters' => $filters, + 'portfolio' => $portfolio ]); } diff --git a/frontend/views/accounts/_portfolio_form.php b/frontend/views/accounts/_portfolio_form.php index 3fc0cda..a453696 100644 --- a/frontend/views/accounts/_portfolio_form.php +++ b/frontend/views/accounts/_portfolio_form.php @@ -7,7 +7,8 @@ use common\models\Specialization; use common\widgets\ImageUploader; use mihaildev\ckeditor\CKEditor; - use yii\helpers\Html; +use yii\helpers\ArrayHelper; +use yii\helpers\Html; use yii\widgets\ActiveForm; use \common\widgets\MultiLangForm; use kartik\select2\Select2; @@ -56,7 +57,7 @@ use yii\web\JsExpression;
Проектов: 1054
Проектов: = $portfolio->totalCount ?>