Commit c4420ba8df08cdc8b5938eaf3520698cad394f0a
Merge remote-tracking branch 'origin/vetal' into vetal
Showing
7 changed files
with
143 additions
and
1 deletions
Show diff stats
| 1 | +<?php | |
| 2 | + /** | |
| 3 | + * Created by PhpStorm. | |
| 4 | + * User: stes | |
| 5 | + * Date: 20.09.17 | |
| 6 | + * Time: 18:52 | |
| 7 | + */ | |
| 8 | + | |
| 9 | + namespace common\models; | |
| 10 | + | |
| 11 | + use artbox\core\behaviors\BitMaskBehavior; | |
| 12 | + use artbox\core\behaviors\GalleryBehavior; | |
| 13 | + use artbox\core\behaviors\LanguageBehavior; | |
| 14 | + use artbox\core\behaviors\ManyToManyBehavior; | |
| 15 | + use artbox\core\models\Image; | |
| 16 | + use yii\behaviors\TimestampBehavior; | |
| 17 | + | |
| 18 | + class Product extends \artbox\catalog\models\Product | |
| 19 | + { | |
| 20 | + public $imgIds; | |
| 21 | + public function behaviors() | |
| 22 | + { | |
| 23 | + return [ | |
| 24 | + 'language' => [ | |
| 25 | + 'class' => LanguageBehavior::className(), | |
| 26 | + ], | |
| 27 | + 'timestamp' => [ | |
| 28 | + 'class' => TimestampBehavior::className(), | |
| 29 | + ], | |
| 30 | + [ | |
| 31 | + 'class' => ManyToManyBehavior::className(), | |
| 32 | + ], | |
| 33 | + [ | |
| 34 | + 'class' => BitMaskBehavior::className(), | |
| 35 | + 'fields' => [ | |
| 36 | + 'top' => 0, | |
| 37 | + 'new' => 1, | |
| 38 | + 'akcia' => 2, | |
| 39 | + 'exclusive' => 3, | |
| 40 | + ], | |
| 41 | + ], | |
| 42 | + [ | |
| 43 | + 'class' => GalleryBehavior::className(), | |
| 44 | + ], | |
| 45 | + ]; | |
| 46 | + } | |
| 47 | + public function getImages() | |
| 48 | + { | |
| 49 | + $ids = []; | |
| 50 | + $gallery = $this->gallery; | |
| 51 | + if (!empty($gallery)) { | |
| 52 | + $ids = array_filter(json_decode($gallery)); | |
| 53 | + } | |
| 54 | + if (!empty($this->image_id)) { | |
| 55 | + $ids[] = $this->image_id; | |
| 56 | + } | |
| 57 | + $this->imgIds = $ids; | |
| 58 | + return $this->hasMany(Image::className(), [ 'id' => 'imgIds' ]); | |
| 59 | + } | |
| 60 | + } | |
| 0 | 61 | \ No newline at end of file | ... | ... |
| 1 | +<?php | |
| 2 | + /** | |
| 3 | + * Created by PhpStorm. | |
| 4 | + * User: stes | |
| 5 | + * Date: 20.09.17 | |
| 6 | + * Time: 18:53 | |
| 7 | + */ | |
| 8 | + | |
| 9 | + namespace common\models; | |
| 10 | + | |
| 11 | + class Variant extends \artbox\catalog\models\Variant | |
| 12 | + { | |
| 13 | + public function getProduct() | |
| 14 | + { | |
| 15 | + return $this->hasOne(Product::className(), [ 'id' => 'product_id' ]) | |
| 16 | + ->inverseOf('variants'); | |
| 17 | + } | |
| 18 | + } | |
| 0 | 19 | \ No newline at end of file | ... | ... |
console/migrations/m170920_154718_add_column_gallery_to_product_table.php
0 → 100644
| 1 | +<?php | |
| 2 | + | |
| 3 | +use yii\db\Migration; | |
| 4 | + | |
| 5 | +class m170920_154718_add_column_gallery_to_product_table extends Migration | |
| 6 | +{ | |
| 7 | + public function safeUp() | |
| 8 | + { | |
| 9 | + $this->addColumn('product', 'gallery', $this->string()); | |
| 10 | + } | |
| 11 | + | |
| 12 | + public function safeDown() | |
| 13 | + { | |
| 14 | + $this->dropColumn('product', 'gallery'); | |
| 15 | + } | |
| 16 | + | |
| 17 | + /* | |
| 18 | + // Use up()/down() to run migration code without a transaction. | |
| 19 | + public function up() | |
| 20 | + { | |
| 21 | + | |
| 22 | + } | |
| 23 | + | |
| 24 | + public function down() | |
| 25 | + { | |
| 26 | + echo "m170920_154718_add_column_gallery_to_product_table cannot be reverted.\n"; | |
| 27 | + | |
| 28 | + return false; | |
| 29 | + } | |
| 30 | + */ | |
| 31 | +} | ... | ... |
frontend/config/main.php
| ... | ... | @@ -57,6 +57,11 @@ |
| 57 | 57 | 'class' => SeoUrlManager::className(), |
| 58 | 58 | 'enablePrettyUrl' => true, |
| 59 | 59 | 'showScriptName' => false, |
| 60 | + 'processRoutes' => [ | |
| 61 | + 'variant/view', | |
| 62 | + 'product/view', | |
| 63 | + 'blog/article' | |
| 64 | + ], | |
| 60 | 65 | 'rules' => [ |
| 61 | 66 | [ |
| 62 | 67 | 'pattern' => 'filter/<filter>', | ... | ... |
frontend/controllers/VariantController.php