Commit bace91ee420f120d6ce895e89540af15bdff00e4
1 parent
22827c55
-
Showing
19 changed files
with
216 additions
and
87 deletions
Show diff stats
backend/controllers/ArticlesController.php
... | ... | @@ -9,6 +9,8 @@ use yii\web\Controller; |
9 | 9 | use yii\web\NotFoundHttpException; |
10 | 10 | use yii\filters\VerbFilter; |
11 | 11 | use developeruz\db_rbac\behaviors\AccessBehavior; |
12 | +use yii\web\UploadedFile; | |
13 | + | |
12 | 14 | /** |
13 | 15 | * ArticlesController implements the CRUD actions for Articles model. |
14 | 16 | */ |
... | ... | @@ -77,7 +79,16 @@ class ArticlesController extends Controller |
77 | 79 | { |
78 | 80 | $model = new Articles(); |
79 | 81 | |
80 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
82 | + if ($model->load(Yii::$app->request->post())) { | |
83 | + | |
84 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
85 | + $model->image = $image->name; | |
86 | + } | |
87 | + | |
88 | + if ($model->save() && $image) { | |
89 | + $image->saveAs(Yii::getAlias('@imagesDir/articles/' . $image->name)); | |
90 | + } | |
91 | + | |
81 | 92 | return $this->redirect(['view', 'id' => $model->id]); |
82 | 93 | } else { |
83 | 94 | return $this->render('create', [ |
... | ... | @@ -96,7 +107,16 @@ class ArticlesController extends Controller |
96 | 107 | { |
97 | 108 | $model = $this->findModel($id); |
98 | 109 | |
99 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
110 | + if ($model->load(Yii::$app->request->post())) { | |
111 | + | |
112 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
113 | + $model->image = $image->name; | |
114 | + } | |
115 | + | |
116 | + if ($model->save() && $image) { | |
117 | + $image->saveAs(Yii::getAlias('@imagesDir/articles/' . $image->name)); | |
118 | + } | |
119 | + | |
100 | 120 | return $this->redirect(['view', 'id' => $model->id]); |
101 | 121 | } else { |
102 | 122 | return $this->render('update', [ | ... | ... |
backend/controllers/BlogController.php
... | ... | @@ -79,10 +79,18 @@ class BlogController extends Controller |
79 | 79 | { |
80 | 80 | $model = new Blog(); |
81 | 81 | |
82 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
82 | + if ($model->load(Yii::$app->request->post())) { | |
83 | 83 | |
84 | 84 | Fields::saveFieldData(Yii::$app->request->post('Fields'), $model->blog_id, Blog::className(), 'ru'); |
85 | 85 | |
86 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
87 | + $model->cover = $image->name; | |
88 | + } | |
89 | + | |
90 | + if ($model->save() && $image) { | |
91 | + $image->saveAs(Yii::getAlias('@imagesDir/articles/' . $image->name)); | |
92 | + } | |
93 | + | |
86 | 94 | return $this->redirect(['view', 'id' => $model->blog_id]); |
87 | 95 | } else { |
88 | 96 | return $this->render('create', [ |
... | ... | @@ -101,8 +109,18 @@ class BlogController extends Controller |
101 | 109 | { |
102 | 110 | $model = $this->findModel($id); |
103 | 111 | |
104 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
112 | + if ($model->load(Yii::$app->request->post())) { | |
113 | + | |
105 | 114 | Fields::saveFieldData(Yii::$app->request->post('Fields'), $model->blog_id, Blog::className(), 'ru'); |
115 | + | |
116 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
117 | + $model->cover = $image->name; | |
118 | + } | |
119 | + | |
120 | + if ($model->save() && $image) { | |
121 | + $image->saveAs(Yii::getAlias('@imagesDir/articles/' . $image->name)); | |
122 | + } | |
123 | + | |
106 | 124 | return $this->redirect(['view', 'id' => $model->blog_id]); |
107 | 125 | } else { |
108 | 126 | return $this->render('update', [ | ... | ... |
backend/controllers/BrandController.php
... | ... | @@ -9,6 +9,8 @@ use yii\web\Controller; |
9 | 9 | use yii\web\NotFoundHttpException; |
10 | 10 | use yii\filters\VerbFilter; |
11 | 11 | use yii\filters\AccessControl; |
12 | +use yii\web\UploadedFile; | |
13 | + | |
12 | 14 | /** |
13 | 15 | * BrandController implements the CRUD actions for Brand model. |
14 | 16 | */ |
... | ... | @@ -78,8 +80,15 @@ class BrandController extends Controller |
78 | 80 | public function actionCreate() |
79 | 81 | { |
80 | 82 | $model = new Brand(); |
81 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
82 | - exit; | |
83 | + if ($model->load(Yii::$app->request->post())) { | |
84 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
85 | + $model->image = $image->name; | |
86 | + } | |
87 | + | |
88 | + if ($model->save() && $image) { | |
89 | + $image->saveAs(Yii::getAlias('@imagesDir/brands/' . $image->name)); | |
90 | + } | |
91 | + | |
83 | 92 | return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect(['view', 'id' => $model->brand_id]) : $this->redirect(array_merge(['create'], Yii::$app->request->queryParams)); |
84 | 93 | } else { |
85 | 94 | return $this->render('create', [ |
... | ... | @@ -99,13 +108,15 @@ class BrandController extends Controller |
99 | 108 | $model = $this->findModel($id); |
100 | 109 | |
101 | 110 | if ($model->load(Yii::$app->request->post())) { |
102 | -// var_dump($_POST); | |
103 | -// print "<hr>"; | |
104 | -// var_dump($_FILES); | |
105 | -// exit; | |
106 | - if ($model->save()) { | |
107 | - return $this->redirect(['view', 'id' => $model->brand_id]); | |
111 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
112 | + $model->image = $image->name; | |
113 | + } | |
114 | + | |
115 | + if ($model->save() && $image) { | |
116 | + $image->saveAs(Yii::getAlias('@imagesDir/brands/' . $image->name)); | |
108 | 117 | } |
118 | + | |
119 | + return $this->redirect(['view', 'id' => $model->brand_id]); | |
109 | 120 | } else { |
110 | 121 | return $this->render('update', [ |
111 | 122 | 'model' => $model, | ... | ... |
backend/controllers/CategoryController.php
... | ... | @@ -11,6 +11,8 @@ use yii\web\Controller; |
11 | 11 | use yii\web\NotFoundHttpException; |
12 | 12 | use yii\filters\VerbFilter; |
13 | 13 | use yii\filters\AccessControl; |
14 | +use yii\web\UploadedFile; | |
15 | + | |
14 | 16 | /** |
15 | 17 | * CategoryController implements the CRUD actions for Category model. |
16 | 18 | */ |
... | ... | @@ -79,7 +81,15 @@ class CategoryController extends Controller |
79 | 81 | { |
80 | 82 | $model = new Category(); |
81 | 83 | |
82 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
84 | + if ($model->load(Yii::$app->request->post())) { | |
85 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
86 | + $model->image = $image->name; | |
87 | + } | |
88 | + | |
89 | + if ($model->save() && $image) { | |
90 | + $image->saveAs(Yii::getAlias('@imagesDir/categories/' . $image->name)); | |
91 | + } | |
92 | + | |
83 | 93 | return is_null(Yii::$app->request->post('create_and_new')) ? $this->redirect(['view', 'id' => $model->category_id]) : $this->redirect(array_merge(['create'], Yii::$app->request->queryParams)); |
84 | 94 | } else { |
85 | 95 | if (!empty(Yii::$app->request->queryParams['parent'])) { |
... | ... | @@ -102,7 +112,15 @@ class CategoryController extends Controller |
102 | 112 | { |
103 | 113 | $model = $this->findModel($id); |
104 | 114 | |
105 | - if ($model->load(Yii::$app->request->post()) && $model->save()) { | |
115 | + if ($model->load(Yii::$app->request->post())) { | |
116 | + if ( ($image = UploadedFile::getInstance($model, 'imageUpload')) ) { | |
117 | + $model->image = $image->name; | |
118 | + } | |
119 | + | |
120 | + if ($model->save() && $image) { | |
121 | + $image->saveAs(Yii::getAlias('@imagesDir/categories/' . $image->name)); | |
122 | + } | |
123 | + | |
106 | 124 | return $this->redirect(['view', 'id' => $model->category_id]); |
107 | 125 | } else { |
108 | 126 | return $this->render('update', [ | ... | ... |
backend/views/articles/_form.php
... | ... | @@ -13,7 +13,10 @@ use yii\jui\DatePicker; |
13 | 13 | |
14 | 14 | <div class="articles-form"> |
15 | 15 | |
16 | - <?php $form = ActiveForm::begin(); ?> | |
16 | + <?php $form = ActiveForm::begin([ | |
17 | + 'enableClientValidation' => false, | |
18 | + 'options' => ['enctype' => 'multipart/form-data'] | |
19 | + ]); ?> | |
17 | 20 | |
18 | 21 | |
19 | 22 | <?= $form->field($model, 'date') |
... | ... | @@ -34,7 +37,21 @@ use yii\jui\DatePicker; |
34 | 37 | ]) ?> |
35 | 38 | |
36 | 39 | |
37 | - <?= $form->field($model, 'image')->textInput(['maxlength' => true]) ?> | |
40 | + <?= $form->field($model, 'imageUpload')->widget(\kartik\file\FileInput::classname(), [ | |
41 | + 'language' => 'ru', | |
42 | + 'options' => [ | |
43 | + 'accept' => 'image/*', | |
44 | + 'multiple' => false, | |
45 | + ], | |
46 | + 'pluginOptions' => [ | |
47 | + 'allowedFileExtensions' => ['jpg', 'gif', 'png'], | |
48 | + 'initialPreview' => !empty($model->imageUrl) ? \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'list') : '', | |
49 | + 'overwriteInitial' => true, | |
50 | + 'showRemove' => false, | |
51 | + 'showUpload' => false, | |
52 | + 'previewFileType' => 'image', | |
53 | + ], | |
54 | + ]); ?> | |
38 | 55 | |
39 | 56 | <?= $form->field($model, 'translit')->textInput(['maxlength' => true]) ?> |
40 | 57 | ... | ... |
backend/views/blog/_form.php
... | ... | @@ -15,7 +15,10 @@ use common\components\Request; |
15 | 15 | |
16 | 16 | <div class="blog-form"> |
17 | 17 | |
18 | - <?php $form = ActiveForm::begin(); ?> | |
18 | + <?php $form = ActiveForm::begin([ | |
19 | + 'enableClientValidation' => false, | |
20 | + 'options' => ['enctype' => 'multipart/form-data'] | |
21 | + ]); ?> | |
19 | 22 | |
20 | 23 | <?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?> |
21 | 24 | |
... | ... | @@ -31,20 +34,21 @@ use common\components\Request; |
31 | 34 | ) |
32 | 35 | ]) ?> |
33 | 36 | |
34 | - <?= ImageUploader::widget([ | |
35 | - 'model'=> $model, | |
36 | - 'field'=>'cover', | |
37 | - 'size' => [ | |
38 | - [ | |
39 | - 'width'=>340, | |
40 | - 'height'=>260, | |
41 | - ] | |
37 | + <?= $form->field($model, 'imageUpload')->widget(\kartik\file\FileInput::classname(), [ | |
38 | + 'language' => 'ru', | |
39 | + 'options' => [ | |
40 | + 'accept' => 'image/*', | |
41 | + 'multiple' => false, | |
42 | 42 | ], |
43 | - 'multi'=>true, | |
44 | - 'gallery' =>$model->cover, | |
45 | - 'name' => 'Загрузить миниатюру статьи' | |
46 | - ]); | |
47 | - ?> | |
43 | + 'pluginOptions' => [ | |
44 | + 'allowedFileExtensions' => ['jpg', 'gif', 'png'], | |
45 | + 'initialPreview' => !empty($model->imageUrl) ? \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'list') : '', | |
46 | + 'overwriteInitial' => true, | |
47 | + 'showRemove' => false, | |
48 | + 'showUpload' => false, | |
49 | + 'previewFileType' => 'image', | |
50 | + ], | |
51 | + ]); ?> | |
48 | 52 | |
49 | 53 | <?= FieldEditor::widget([ |
50 | 54 | 'template' => 'education', | ... | ... |
backend/views/brand/_form.php
... | ... | @@ -19,7 +19,21 @@ use yii\widgets\ActiveForm; |
19 | 19 | |
20 | 20 | <?= $form->field($model, 'alias')->textInput(['maxlength' => true]) ?> |
21 | 21 | |
22 | - <?= $form->field($model, 'image')->fileInput(['accept' => 'image/*']) ?> | |
22 | + <?= $form->field($model, 'imageUpload')->widget(\kartik\file\FileInput::classname(), [ | |
23 | + 'language' => 'ru', | |
24 | + 'options' => [ | |
25 | + 'accept' => 'image/*', | |
26 | + 'multiple' => false, | |
27 | + ], | |
28 | + 'pluginOptions' => [ | |
29 | + 'allowedFileExtensions' => ['jpg', 'gif', 'png'], | |
30 | + 'initialPreview' => !empty($model->imageUrl) ? \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'list') : '', | |
31 | + 'overwriteInitial' => true, | |
32 | + 'showRemove' => false, | |
33 | + 'showUpload' => false, | |
34 | + 'previewFileType' => 'image', | |
35 | + ], | |
36 | + ]); ?> | |
23 | 37 | |
24 | 38 | <?= $form->field($model, 'meta_title')->textInput(['maxlength' => true]) ?> |
25 | 39 | ... | ... |
backend/views/brand/view.php
backend/views/category/_form.php
... | ... | @@ -12,7 +12,10 @@ use kartik\select2\Select2; |
12 | 12 | |
13 | 13 | <div class="category-form"> |
14 | 14 | |
15 | - <?php $form = ActiveForm::begin(); ?> | |
15 | + <?php $form = ActiveForm::begin([ | |
16 | + 'enableClientValidation' => false, | |
17 | + 'options' => ['enctype' => 'multipart/form-data'] | |
18 | + ]); ?> | |
16 | 19 | |
17 | 20 | <?= $form->field($model, 'name')->textInput() ?> |
18 | 21 | |
... | ... | @@ -25,13 +28,6 @@ use kartik\select2\Select2; |
25 | 28 | ] |
26 | 29 | ])->label(Yii::t('product', 'Parent category')) ?> |
27 | 30 | |
28 | - <?php /* | |
29 | - <?= $form->field($model, 'group_to_category')->dropDownList( | |
30 | - \yii\helpers\ArrayHelper::map(\common\modules\rubrication\models\TaxGroup::find()->all(), 'tax_group_id', 'name'), [ | |
31 | - 'multiple' => true | |
32 | - ])->label(Yii::t('product', 'Linked options')) ?> | |
33 | - */?> | |
34 | - | |
35 | 31 | <?= $form->field($model, 'group_to_category')->widget(Select2::className(), [ |
36 | 32 | 'data' => \yii\helpers\ArrayHelper::map(\common\modules\rubrication\models\TaxGroup::find()->all(), 'tax_group_id', 'name'), |
37 | 33 | 'language' => 'ru', |
... | ... | @@ -45,20 +41,21 @@ use kartik\select2\Select2; |
45 | 41 | ] |
46 | 42 | ) ?> |
47 | 43 | |
48 | - <?= ImageUploader::widget([ | |
49 | - 'model'=> $model, | |
50 | - 'field'=>'image', | |
51 | - 'size' => [ | |
52 | - [ | |
53 | - 'width'=>340, | |
54 | - 'height'=>260, | |
55 | - ] | |
44 | + <?= $form->field($model, 'imageUpload')->widget(\kartik\file\FileInput::classname(), [ | |
45 | + 'language' => 'ru', | |
46 | + 'options' => [ | |
47 | + 'accept' => 'image/*', | |
48 | + 'multiple' => false, | |
49 | + ], | |
50 | + 'pluginOptions' => [ | |
51 | + 'allowedFileExtensions' => ['jpg', 'gif', 'png'], | |
52 | + 'initialPreview' => !empty($model->imageUrl) ? \common\components\artboximage\ArtboxImageHelper::getImage($model->imageUrl, 'list') : '', | |
53 | + 'overwriteInitial' => true, | |
54 | + 'showRemove' => false, | |
55 | + 'showUpload' => false, | |
56 | + 'previewFileType' => 'image', | |
56 | 57 | ], |
57 | - 'multi'=>false, | |
58 | - 'gallery' => $model->image, | |
59 | - 'name' => 'Загрузить изображение' | |
60 | - ]); | |
61 | - ?> | |
58 | + ]); ?> | |
62 | 59 | |
63 | 60 | <?= $form->field($model, 'meta_title')->textInput(['maxlength' => true]) ?> |
64 | 61 | ... | ... |
backend/views/category/view.php
common/components/artboximage/ArtboxImageBehavior.php
0 → 100644
common/config/bootstrap.php
... | ... | @@ -4,3 +4,6 @@ Yii::setAlias('@frontend', dirname(dirname(__DIR__)) . '/frontend'); |
4 | 4 | Yii::setAlias('@backend', dirname(dirname(__DIR__)) . '/backend'); |
5 | 5 | Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console'); |
6 | 6 | Yii::setAlias('storage', dirname(dirname(__DIR__)) . '/storage'); |
7 | + | |
8 | +Yii::setAlias('@imagesDir', dirname(dirname(__DIR__)) . '/frontend/web/images'); | |
9 | +Yii::setAlias('@imagesUrl', '/images'); | ... | ... |
common/models/Articles.php
... | ... | @@ -21,6 +21,8 @@ use Yii; |
21 | 21 | */ |
22 | 22 | class Articles extends \yii\db\ActiveRecord |
23 | 23 | { |
24 | + public $imageUpload; | |
25 | + | |
24 | 26 | /** |
25 | 27 | * @inheritdoc |
26 | 28 | */ |
... | ... | @@ -39,6 +41,8 @@ class Articles extends \yii\db\ActiveRecord |
39 | 41 | [['title', 'body', 'image', 'translit'], 'required'], |
40 | 42 | [['body', 'seo_text'], 'string'], |
41 | 43 | [['title', 'image', 'translit', 'meta_title', 'meta_keywords', 'meta_description', 'h1'], 'string', 'max' => 255], |
44 | + [['imageUpload'], 'safe'], | |
45 | + [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'], | |
42 | 46 | ]; |
43 | 47 | } |
44 | 48 | |
... | ... | @@ -53,6 +57,7 @@ class Articles extends \yii\db\ActiveRecord |
53 | 57 | 'title' => 'Title', |
54 | 58 | 'body' => 'Body', |
55 | 59 | 'image' => 'Image', |
60 | + 'imageUrl' => Yii::t('app', 'Image'), | |
56 | 61 | 'translit' => 'Translit', |
57 | 62 | 'meta_title' => 'Meta Title', |
58 | 63 | 'meta_keywords' => 'Meta Keywords', |
... | ... | @@ -61,4 +66,13 @@ class Articles extends \yii\db\ActiveRecord |
61 | 66 | 'h1' => 'H1', |
62 | 67 | ]; |
63 | 68 | } |
69 | + | |
70 | + public function getImageFile() { | |
71 | + return empty($this->image) ? null : Yii::getAlias('@imagesDir/articles/'. $this->image); | |
72 | + } | |
73 | + | |
74 | + public function getImageUrl() | |
75 | + { | |
76 | + return empty($this->image) ? null : Yii::getAlias('@imagesUrl/articles/' . $this->image); | |
77 | + } | |
64 | 78 | } | ... | ... |
common/models/Blog.php
... | ... | @@ -21,6 +21,7 @@ |
21 | 21 | */ |
22 | 22 | class Blog extends \yii\db\ActiveRecord |
23 | 23 | { |
24 | + public $imageUpload; | |
24 | 25 | |
25 | 26 | /** |
26 | 27 | * @inheritdoc |
... | ... | @@ -80,6 +81,8 @@ |
80 | 81 | 'string', |
81 | 82 | 'max' => 255, |
82 | 83 | ], |
84 | + [['imageUpload'], 'safe'], | |
85 | + [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'], | |
83 | 86 | ]; |
84 | 87 | } |
85 | 88 | |
... | ... | @@ -102,6 +105,17 @@ |
102 | 105 | 'view_count' => Yii::t('app', 'view_count'), |
103 | 106 | 'description' => Yii::t('app', 'description'), |
104 | 107 | 'cover' => Yii::t('app', 'cover'), |
108 | + 'image' => Yii::t('app', 'cover'), | |
109 | + 'imageUrl' => Yii::t('app', 'cover'), | |
105 | 110 | ]; |
106 | 111 | } |
112 | + | |
113 | + public function getImageFile() { | |
114 | + return empty($this->image) ? null : Yii::getAlias('@imagesDir/brands/'. $this->image); | |
115 | + } | |
116 | + | |
117 | + public function getImageUrl() | |
118 | + { | |
119 | + return empty($this->image) ? null : Yii::getAlias('@imagesUrl/brands/' . $this->image); | |
120 | + } | |
107 | 121 | } | ... | ... |
common/modules/product/models/Brand.php
... | ... | @@ -4,8 +4,7 @@ namespace common\modules\product\models; |
4 | 4 | |
5 | 5 | use common\behaviors\Slug; |
6 | 6 | use common\modules\rubrication\behaviors\ArtboxSynonymBehavior; |
7 | -use mongosoft\file\UploadBehavior; | |
8 | -use mongosoft\file\UploadImageBehavior; | |
7 | +use yii\web\UploadedFile; | |
9 | 8 | use Yii; |
10 | 9 | |
11 | 10 | /** |
... | ... | @@ -27,6 +26,8 @@ use Yii; |
27 | 26 | */ |
28 | 27 | class Brand extends \yii\db\ActiveRecord |
29 | 28 | { |
29 | + public $imageUpload; | |
30 | + | |
30 | 31 | public function behaviors() |
31 | 32 | { |
32 | 33 | return [ |
... | ... | @@ -43,18 +44,6 @@ class Brand extends \yii\db\ActiveRecord |
43 | 44 | 'slugKeyName' => 'alias', |
44 | 45 | 'translit' => true |
45 | 46 | ], |
46 | - 'uploader' => [ | |
47 | - 'class' => UploadBehavior::className(), | |
48 | - 'attribute' => 'fileUpload', | |
49 | - 'scenarios' => ['insert', 'update'], | |
50 | -// 'placeholder' => '@app/modules/user/assets/images/userpic.jpg', | |
51 | - 'path' => '@storage/brands/{alias}', | |
52 | - 'url' => '/storage/brands/{alias}', | |
53 | -// 'thumbs' => [ | |
54 | -// 'thumb' => ['width' => 400, 'quality' => 90], | |
55 | -// 'preview' => ['width' => 200, 'height' => 200], | |
56 | -// ], | |
57 | - ], | |
58 | 47 | ], |
59 | 48 | ]; |
60 | 49 | } |
... | ... | @@ -77,10 +66,10 @@ class Brand extends \yii\db\ActiveRecord |
77 | 66 | [['brand_name_id'], 'integer'], |
78 | 67 | [['meta_desc', 'seo_text'], 'string'], |
79 | 68 | [['alias', 'name'], 'string', 'max' => 250], |
80 | - [['meta_title'], 'string', 'max' => 255], | |
69 | + [['meta_title', 'image'], 'string', 'max' => 255], | |
81 | 70 | [['meta_robots'], 'string', 'max' => 50], |
82 | - [['fileUpload'], 'file', 'extensions' => 'jpg, gif, png'], | |
83 | -// [['brand_name_id'], 'exist', 'skipOnError' => true, 'targetClass' => BrandName::className(), 'targetAttribute' => ['brand_name_id' => 'brand_name_id']], | |
71 | + [['imageUpload'], 'safe'], | |
72 | + [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'], | |
84 | 73 | ]; |
85 | 74 | } |
86 | 75 | |
... | ... | @@ -132,10 +121,11 @@ class Brand extends \yii\db\ActiveRecord |
132 | 121 | } |
133 | 122 | |
134 | 123 | public function getImageFile() { |
135 | - return empty($this->image) ? null : '/images/brand/'. $this->image; | |
124 | + return empty($this->image) ? null : Yii::getAlias('@imagesDir/brands/'. $this->image); | |
136 | 125 | } |
137 | 126 | |
138 | - public function getImageUrl() { | |
139 | - return empty($this->image) ? null : '/images/brand/'. $this->image; | |
127 | + public function getImageUrl() | |
128 | + { | |
129 | + return empty($this->image) ? null : Yii::getAlias('@imagesUrl/brands/' . $this->image); | |
140 | 130 | } |
141 | 131 | } | ... | ... |
common/modules/product/models/Category.php
... | ... | @@ -85,7 +85,7 @@ class Category extends \yii\db\ActiveRecord |
85 | 85 | [['name'], 'string'], |
86 | 86 | [['parent_id', 'depth', 'category_name_id', 'product_unit_id'], 'integer'], |
87 | 87 | [['path', 'meta_desc', 'seo_text'], 'string'], |
88 | - [['meta_title'], 'string', 'max' => 255], | |
88 | + [['meta_title', 'image'], 'string', 'max' => 255], | |
89 | 89 | [['meta_robots'], 'string', 'max' => 50], |
90 | 90 | [['alias', 'name'], 'string', 'max' => 250], |
91 | 91 | [['populary'], 'boolean'], |
... | ... | @@ -93,7 +93,6 @@ class Category extends \yii\db\ActiveRecord |
93 | 93 | [['category_name_id'], 'exist', 'skipOnError' => true, 'targetClass' => CategoryName::className(), 'targetAttribute' => ['category_name_id' => 'category_name_id']], |
94 | 94 | [['imageUpload'], 'safe'], |
95 | 95 | [['imageUpload'], 'file', 'extensions' => 'jpg, gif, png'], |
96 | -// [['product_unit_id'], 'exist', 'skipOnError' => true, 'targetClass' => ProductUnit::className(), 'targetAttribute' => ['product_unit_id' => 'product_unit_id']], | |
97 | 96 | ]; |
98 | 97 | } |
99 | 98 | |
... | ... | @@ -172,14 +171,17 @@ class Category extends \yii\db\ActiveRecord |
172 | 171 | return $this->hasOne(CategoryName::className(), ['category_name_id' => 'category_name_id']); |
173 | 172 | } |
174 | 173 | |
175 | - public function getName() | |
176 | - { | |
174 | + public function getName() { | |
177 | 175 | return empty($this->categoryName) ? null : $this->categoryName->value; |
178 | 176 | } |
179 | 177 | |
178 | + public function getImageFile() { | |
179 | + return empty($this->image) ? null : Yii::getAlias('@imagesDir/categories/'. $this->image); | |
180 | + } | |
181 | + | |
180 | 182 | public function getImageUrl() |
181 | 183 | { |
182 | - return empty($this->image) ? null : '/images/category/' . $this->image; | |
184 | + return empty($this->image) ? null : Yii::getAlias('@imagesUrl/categories/' . $this->image); | |
183 | 185 | } |
184 | 186 | |
185 | 187 | public function beforeSave($insert) | ... | ... |
frontend/views/articles/index.php
... | ... | @@ -27,7 +27,9 @@ $this->registerMetaTag(['name' => 'keywords', 'content' => 'Блог']); |
27 | 27 | |
28 | 28 | <?php foreach($news as $item):?> |
29 | 29 | <div class="news_item"> |
30 | - <a href="<?=Url::to(['articles/show','translit'=>$item->translit,'id'=>$item->id])?>"><img src="<?=Yii::$app->request->baseUrl.'/storage/articles/ico/'.$item->image?>" width="180" height="125" border="0" align="left" /></a> | |
30 | + <a href="<?=Url::to(['articles/show','translit'=>$item->translit,'id'=>$item->id])?>"> | |
31 | + <?= \common\components\artboximage\ArtboxImageHelper::getImage($item->imageUrl, 'list')?> | |
32 | + </a> | |
31 | 33 | <a href="<?=Url::to(['articles/show','translit'=>$item->translit,'id'=>$item->id])?>" class="name"><?=$item->title?></a><br /> |
32 | 34 | <?=Text::getShort($item->body,600);?><div class="both"></div> |
33 | 35 | </div> | ... | ... |
frontend/views/articles/show.php
... | ... | @@ -22,8 +22,7 @@ $this->registerMetaTag(['name' => 'keywords', 'content' => $news->meta_keywords] |
22 | 22 | |
23 | 23 | <div class="content"> |
24 | 24 | <h1><?=$news->title?></h1> |
25 | - | |
26 | - <img src="<?=Yii::$app->request->baseUrl.'/storage/articles/big/'.$news->image?>" width="400" height="400" border="0" align="left" class='pic' /> | |
25 | + <?= \common\components\artboximage\ArtboxImageHelper::getImage($news->imageUrl, 'product')?> | |
27 | 26 | <?=$news->body?> |
28 | 27 | <p class='date'><?=$news->date?></p> |
29 | 28 | </div> | ... | ... |
frontend/views/catalog/product_item.php
... | ... | @@ -9,11 +9,7 @@ use yii\helpers\Url; |
9 | 9 | 'catalog/product', |
10 | 10 | 'product' => $product]) |
11 | 11 | ?>"> |
12 | - <?php if (empty($product->image)) :?> | |
13 | - <img src="/img/no_photo.png"> | |
14 | - <?php else :?> | |
15 | - <?= \common\components\artboximage\ArtboxImageHelper::getImage($product->image->imageUrl, 'list')?> | |
16 | - <?php endif?> | |
12 | + <?= \common\components\artboximage\ArtboxImageHelper::getImage($product->imageUrl, 'list')?> | |
17 | 13 | </a> |
18 | 14 | </div> |
19 | 15 | <a href="<?= Url::to([ | ... | ... |