diff --git a/backend/controllers/BrandController.php b/backend/controllers/BrandController.php
index c30fd00..c23a105 100755
--- a/backend/controllers/BrandController.php
+++ b/backend/controllers/BrandController.php
@@ -80,20 +80,7 @@ class BrandController extends Controller
public function actionCreate()
{
$model = new Brand();
- if ($model->load(Yii::$app->request->post())) {
- if ( ($image = UploadedFile::getInstance($model, 'image')) ) {
- $model->image = $image->name;
- }
- if ($model->save() && $image) {
-
- $imgDir = Yii::getAlias('@storage/brand/');
-
- if(!is_dir($imgDir)) {
- mkdir($imgDir, 0755, true);
- }
-
- $image->saveAs(Yii::getAlias('@storage/brand/' . $image->name));
- }
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
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));
} else {
@@ -113,20 +100,7 @@ class BrandController extends Controller
{
$model = $this->findModel($id);
- if ($model->load(Yii::$app->request->post())) {
- if ( ($image = UploadedFile::getInstance($model, 'image')) ) {
- $model->image = $image->name;
- }
- if ($model->save() && $image) {
-
- $imgDir = Yii::getAlias('@storage/brands/');
-
- if(!is_dir($imgDir)) {
- mkdir($imgDir, 0755, true);
- }
-
- $image->saveAs(Yii::getAlias('@storage/brands/' . $image->name));
- }
+ if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->brand_id]);
} else {
diff --git a/backend/views/event/_form.php b/backend/views/event/_form.php
index 6891637..8acfb7c 100755
--- a/backend/views/event/_form.php
+++ b/backend/views/event/_form.php
@@ -67,7 +67,7 @@ use mihaildev\elfinder\ElFinder;
],
'pluginOptions' => [
'allowedFileExtensions' => ['jpg', 'gif', 'png'],
- 'initialPreview' => !empty($model->bannerUrl) ? \common\components\artboximage\ArtboxImageHelper::getImage($model->bannerUrl, 'list') : '',
+ 'initialPreview' => !empty($model->getImageUrl('banner')) ? \common\components\artboximage\ArtboxImageHelper::getImage($model->getImageUrl('banner'), 'list') : '',
'overwriteInitial' => true,
'showRemove' => false,
'showUpload' => false,
diff --git a/backend/views/slider-image/_form.php b/backend/views/slider-image/_form.php
index 46b9940..485facf 100755
--- a/backend/views/slider-image/_form.php
+++ b/backend/views/slider-image/_form.php
@@ -12,6 +12,7 @@ use kartik\date\DatePicker;
/* @var $form yii\widgets\ActiveForm */
?>
+
['enctype' => 'multipart/form-data']]); ?>
diff --git a/common/behaviors/SaveImgBehavior.php b/common/behaviors/SaveImgBehavior.php
index 2c16501..5f05708 100644
--- a/common/behaviors/SaveImgBehavior.php
+++ b/common/behaviors/SaveImgBehavior.php
@@ -14,8 +14,8 @@ use yii\web\UploadedFile;
class SaveImgBehavior extends Behavior
{
-
- public $directory;
+ public $fields;
+ //public $directory;
public function events()
{
@@ -27,57 +27,62 @@ class SaveImgBehavior extends Behavior
public function beforeUpdate($event)
{
+ foreach($this->fields as $field){
+ if ( ($image = UploadedFile::getInstance($this->owner, $field['name'])) ) {
+ $this->owner->image = $image->name;
+ }
+ if(!$this->owner->image){
+ $this->owner->image = $this->owner->getOldAttribute($field['name']);
+ }
- if ( ($image = UploadedFile::getInstance($this->owner, 'image')) ) {
- $this->owner->image = $image->name;
- }
- if(!$this->owner->image){
- $this->owner->image = $this->owner->getOldAttribute('image');
- }
+ if ($image) {
+ $imgDir = \Yii::getAlias('@storage/'.$field['directory'].'/');
+ if(!is_dir($imgDir)) {
+ mkdir($imgDir, 0755, true);
+ }
- if ($image) {
- $imgDir = \Yii::getAlias('@storage/'.$this->directory.'/');
-
- if(!is_dir($imgDir)) {
- mkdir($imgDir, 0755, true);
+ $image->saveAs(\Yii::getAlias('@storage/'.$field['directory'].'/' . $image->name));
}
-
- $image->saveAs(\Yii::getAlias('@storage/'.$this->directory.'/' . $image->name));
}
+
+
+
}
public function beforeInsert($event)
{
+ foreach($this->fields as $field){
+ if ( ($image = UploadedFile::getInstance($this->owner, $field['name'])) ) {
+ $this->owner->image = $image->name;
+ }
- if ( ($image = UploadedFile::getInstance($this->owner, 'image')) ) {
- $this->owner->image = $image->name;
- }
+ if ($image) {
+ $imgDir = \Yii::getAlias('@storage/'.$field['directory'].'/');
- if ($image) {
- $imgDir = \Yii::getAlias('@storage/'.$this->directory.'/');
+ if(!is_dir($imgDir)) {
+ mkdir($imgDir, 0755, true);
+ }
- if(!is_dir($imgDir)) {
- mkdir($imgDir, 0755, true);
+ $image->saveAs(\Yii::getAlias('@storage/'.$field['directory'].'/' . $image->name));
}
-
- $image->saveAs(\Yii::getAlias('@storage/'.$this->directory.'/' . $image->name));
}
}
-
-
- public function getImageFile() {
- return empty($this->owner->image) ? null : '/storage/'.$this->directory.'/'. $this->owner->image;
+ public function getImageFile($image = 'image') {
+ return empty($this->owner->$image) ? null : '/storage/'.$this->fields[0]['directory'].'/'. $this->owner->$image;
}
- public function getImageUrl() {
- return empty($this->owner->image) ? null : '/storage/'.$this->directory.'/'. $this->owner->image;
+ public function getImageUrl($image = 'image') {
+ return empty($this->owner->$image) ? null : '/storage/'.$this->fields[0]['directory'].'/'. $this->owner->$image;
}
+
+
+
}
\ No newline at end of file
diff --git a/common/models/Articles.php b/common/models/Articles.php
index bc99142..e68dc66 100755
--- a/common/models/Articles.php
+++ b/common/models/Articles.php
@@ -44,7 +44,9 @@ class Articles extends \yii\db\ActiveRecord
return [
[
'class' => SaveImgBehavior::className(),
- 'directory' => 'articles'
+ 'fields' => [
+ ['name'=>'image','directory' => 'articles' ]
+ ]
],
'slug' => [
'class' => 'common\behaviors\Slug',
diff --git a/common/models/Banner.php b/common/models/Banner.php
index da6de11..b607360 100755
--- a/common/models/Banner.php
+++ b/common/models/Banner.php
@@ -37,7 +37,9 @@ class Banner extends \yii\db\ActiveRecord
return [
[
'class' => SaveImgBehavior::className(),
- 'directory' => 'banner'
+ 'fields' => [
+ ['name'=>'image','directory' => 'banner' ]
+ ]
],
];
}
diff --git a/common/models/Bg.php b/common/models/Bg.php
index 405ad39..da07740 100755
--- a/common/models/Bg.php
+++ b/common/models/Bg.php
@@ -21,7 +21,9 @@ class Bg extends \yii\db\ActiveRecord
return [
[
'class' => SaveImgBehavior::className(),
- 'directory' => 'bg'
+ 'fields' => [
+ ['name'=>'image','directory' => 'bg' ]
+ ]
],
];
}
diff --git a/common/models/Event.php b/common/models/Event.php
index 922247c..81ba40e 100755
--- a/common/models/Event.php
+++ b/common/models/Event.php
@@ -47,7 +47,10 @@ class Event extends \yii\db\ActiveRecord
return [
[
'class' => SaveImgBehavior::className(),
- 'directory' => 'event'
+ 'fields' => [
+ ['name'=>'imageUpload','directory' => 'event' ],
+ ['name'=>'banner','directory' => 'event' ],
+ ]
],
TimestampBehavior::className(),
'slug' => [
@@ -131,17 +134,10 @@ class Event extends \yii\db\ActiveRecord
}
- public function getBannerFile() {
- return empty($this->image) ? null : Yii::getAlias('@imagesDir/event/'. $this->banner);
- }
-
public function getProducts(){
return $this->hasMany(Product::className(),['product_id' => 'product_id'] )->viaTable('events_to_products', ['event_id' => 'event_id']);
}
- public function getBannerUrl()
- {
- return empty($this->image) ? null : Yii::getAlias('@imagesUrl/event/' . $this->banner);
- }
+
}
diff --git a/common/models/SliderImage.php b/common/models/SliderImage.php
index 7720fe5..a4e91e5 100755
--- a/common/models/SliderImage.php
+++ b/common/models/SliderImage.php
@@ -39,7 +39,9 @@ class SliderImage extends \yii\db\ActiveRecord
return [
[
'class' => SaveImgBehavior::className(),
- 'directory' => 'slider'
+ 'fields' => [
+ ['name'=>'image','directory' => 'slider' ]
+ ]
]
];
}
diff --git a/common/modules/product/models/Brand.php b/common/modules/product/models/Brand.php
index 4ccfba4..efb9e49 100755
--- a/common/modules/product/models/Brand.php
+++ b/common/modules/product/models/Brand.php
@@ -2,6 +2,7 @@
namespace common\modules\product\models;
+use common\behaviors\SaveImgBehavior;
use common\behaviors\Slug;
use common\modules\rubrication\behaviors\ArtboxSynonymBehavior;
use yii\web\UploadedFile;
@@ -40,9 +41,19 @@ class Brand extends \yii\db\ActiveRecord
}
+ /**
+ * @inheritdoc
+ */
+
public function behaviors()
{
return [
+ [
+ 'class' => SaveImgBehavior::className(),
+ 'fields' => [
+ ['name'=>'image','directory' => 'brands' ]
+ ]
+ ],
'slug' => [
'class' => 'common\behaviors\Slug',
'in_attribute' => 'name',
@@ -101,11 +112,11 @@ class Brand extends \yii\db\ActiveRecord
}
public function getImageFile() {
- return empty($this->image) ? null : Yii::getAlias('@imagesDir/brands/'. $this->image);
+ return empty($this->image) ? null : '/storage/brands/'. $this->image;
}
- public function getImageUrl()
- {
- return empty($this->image) ? null : Yii::getAlias('@imagesUrl/brands/' . $this->image);
+ public function getImageUrl() {
+ return empty($this->image) ? null : '/storage/brands/'. $this->image;
}
+
}
diff --git a/common/modules/product/models/Product.php b/common/modules/product/models/Product.php
index 65d3ea6..a2e648b 100755
--- a/common/modules/product/models/Product.php
+++ b/common/modules/product/models/Product.php
@@ -303,20 +303,24 @@ class Product extends \yii\db\ActiveRecord
parent::afterSave($insert, $changedAttributes);
- $this->unlinkAll('categories', true);
- $this->unlinkAll('options',true);
-
+ if(!empty($this->categories)){
+ $categories = Category::findAll($this->categories);
+ $this->unlinkAll('categories', true);
+ foreach($categories as $category){
+ $this->link('categories', $category);
+ }
+ }
- $categories = Category::findAll($this->categories);
- $options = TaxOption::findAll($this->options);
- foreach($options as $option){
- $this->link('options', $option);
- }
- foreach($categories as $category){
- $this->link('categories', $category);
+ if(!empty($this->options)){
+ $options = TaxOption::findAll($this->options);
+ $this->unlinkAll('options',true);
+ foreach($options as $option){
+ $this->link('options', $option);
+ }
}
+
if (!empty($this->_variants)) {
$todel = [];
foreach ($this->variants ?: [] as $_variant) {
diff --git a/frontend/web/css/css_header.css b/frontend/web/css/css_header.css
index 4cc431a..ad65163 100755
--- a/frontend/web/css/css_header.css
+++ b/frontend/web/css/css_header.css
@@ -14521,3 +14521,6 @@ ul.product-special li.promo div{
position: relative;
overflow: hidden;
}
+.btn-fixeds{
+ z-index: 1000;
+}
\ No newline at end of file
diff --git a/frontend/widgets/views/slider.php b/frontend/widgets/views/slider.php
index c69b240..088c131 100755
--- a/frontend/widgets/views/slider.php
+++ b/frontend/widgets/views/slider.php
@@ -6,22 +6,27 @@ use yii\helpers\Html;
use yii\helpers\Url;
use yii\web\View;
use frontend\assets\FlipclockAsset;
+FlipclockAsset::register($this);
?>
sliderImage as $image):
- if(!empty($image->end_at) && strtotime($row->end_at) > strtotime(date("Y-m-d"))){
+
+ ?>
+
+end_at) && strtotime($image->end_at) > strtotime(date("Y-m-d"))){
?>
-
+
-
-
+
= Html::img(ArtboxImageHelper::getImageSrc($image->imageUrl,'slider'))?>
--
libgit2 0.21.4