= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
diff --git a/backend/views/brand/_form.php b/backend/views/brand/_form.php
index 7c4530d..6ae3467 100755
--- a/backend/views/brand/_form.php
+++ b/backend/views/brand/_form.php
@@ -43,8 +43,6 @@ use yii\widgets\ActiveForm;
= $form->field($model, 'seo_text')->textarea(['rows' => 6]) ?>
- = $form->field($model, 'in_menu')->checkbox()?>
-
= Html::submitButton($model->isNewRecord ? Yii::t('product', 'Create') : Yii::t('product', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
isNewRecord) :?>
diff --git a/backend/views/brand/index.php b/backend/views/brand/index.php
index ad78276..d1295f1 100755
--- a/backend/views/brand/index.php
+++ b/backend/views/brand/index.php
@@ -1,6 +1,5 @@
params['breadcrumbs'][] = $this->title;
'name',
'alias',
[
- 'attribute' => 'image',
- 'format' => 'image',
+ 'attribute' => 'title',
+ 'format' => 'html',
'value' => function($data) {
- return ArtboxImageHelper::getImageSrc($data->imageUrl, 'brand_item');
+ return Html::img($data->imageUrl, ['width'=>'100']);
},
],
diff --git a/backend/views/customer/_form.php b/backend/views/customer/_form.php
index 1170648..01f70af 100755
--- a/backend/views/customer/_form.php
+++ b/backend/views/customer/_form.php
@@ -12,10 +12,11 @@ use yii\widgets\ActiveForm;
+ = $form->field($model, 'id')->textInput() ?>
= $form->field($model, 'username')->textInput(['maxlength' => true]) ?>
-
+ = $form->field($model, 'password')->passwordInput(['maxlength' => true]) ?>
= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
@@ -25,6 +26,8 @@ use yii\widgets\ActiveForm;
= $form->field($model, 'date_time')->textInput() ?>
+ = $form->field($model, 'sex')->textInput(['maxlength' => true]) ?>
+
= $form->field($model, 'birth_day')->textInput() ?>
= $form->field($model, 'birth_month')->textInput() ?>
diff --git a/backend/views/customer/index.php b/backend/views/customer/index.php
index 40909ae..b7e25bf 100755
--- a/backend/views/customer/index.php
+++ b/backend/views/customer/index.php
@@ -26,6 +26,7 @@ $this->params['breadcrumbs'][] = $this->title;
'id',
'username',
+ 'password',
'name',
'surname',
// 'phone',
diff --git a/backend/views/slider-image/_form.php b/backend/views/slider-image/_form.php
index 01f72be..52b2954 100755
--- a/backend/views/slider-image/_form.php
+++ b/backend/views/slider-image/_form.php
@@ -16,7 +16,6 @@ use yii\widgets\ActiveForm;
['enctype' => 'multipart/form-data']]); ?>
-
= $form->field($model, 'image')->widget(\kartik\file\FileInput::classname(), [
'model' => $model,
'attribute' => 'image',
diff --git a/common/behaviors/SaveImgBehavior.php b/common/behaviors/SaveImgBehavior.php
deleted file mode 100644
index 2c16501..0000000
--- a/common/behaviors/SaveImgBehavior.php
+++ /dev/null
@@ -1,83 +0,0 @@
- 'beforeUpdate',
- ActiveRecord::EVENT_BEFORE_INSERT => 'beforeInsert',
- ];
- }
-
- public function beforeUpdate($event)
- {
-
-
- 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/'.$this->directory.'/');
-
- if(!is_dir($imgDir)) {
- mkdir($imgDir, 0755, true);
- }
-
- $image->saveAs(\Yii::getAlias('@storage/'.$this->directory.'/' . $image->name));
- }
- }
-
-
- public function beforeInsert($event)
- {
-
-
- if ( ($image = UploadedFile::getInstance($this->owner, 'image')) ) {
- $this->owner->image = $image->name;
- }
-
-
-
- if ($image) {
- $imgDir = \Yii::getAlias('@storage/'.$this->directory.'/');
-
- if(!is_dir($imgDir)) {
- mkdir($imgDir, 0755, true);
- }
-
- $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 getImageUrl() {
- return empty($this->owner->image) ? null : '/storage/'.$this->directory.'/'. $this->owner->image;
- }
-}
\ No newline at end of file
diff --git a/common/config/main.php b/common/config/main.php
index 8f97db8..ffbb5ea 100755
--- a/common/config/main.php
+++ b/common/config/main.php
@@ -97,8 +97,8 @@ return [
],
'slider' => [
'resize' => [
- 'width' => 1400,
- 'height' => 600,
+ 'width' => 1920,
+ 'height' => 420,
'master' => null
],
],
@@ -118,11 +118,15 @@ return [
],
'brand_item' => [
'resize' => [
- 'width' => 125,
- 'height' => 54,
+ 'width' => 150,
+ 'height' => 150,
+ 'master' => null
+ ],
+ 'crop' => [
+ 'width' => 150,
+ 'height' => 150,
'master' => null
],
-
],
'mainmenu' => [
'resize' => [
diff --git a/common/models/Articles.php b/common/models/Articles.php
index bc99142..06b7ac8 100755
--- a/common/models/Articles.php
+++ b/common/models/Articles.php
@@ -3,7 +3,6 @@
namespace common\models;
use common\behaviors\RatingBehavior;
-use common\behaviors\SaveImgBehavior;
use common\modules\comment\models\CommentModel;
use Yii;
@@ -34,18 +33,12 @@ class Articles extends \yii\db\ActiveRecord
return 'articles';
}
-
-
/**
* @inheritdoc
*/
public function behaviors()
{
return [
- [
- 'class' => SaveImgBehavior::className(),
- 'directory' => 'articles'
- ],
'slug' => [
'class' => 'common\behaviors\Slug',
'in_attribute' => 'title',
@@ -91,6 +84,15 @@ class Articles extends \yii\db\ActiveRecord
];
}
+ public function getImageFile() {
+ return empty($this->image) ? null : Yii::getAlias('@imagesDir/articles/'. $this->image);
+ }
+
+ public function getImageUrl()
+ {
+ return empty($this->image) ? null : Yii::getAlias('@imagesUrl/articles/' . $this->image);
+ }
+
public function recalculateRating() {
/**
* @var ArticleToRating $averageRating
diff --git a/common/models/Banner.php b/common/models/Banner.php
index da6de11..4638770 100755
--- a/common/models/Banner.php
+++ b/common/models/Banner.php
@@ -2,7 +2,6 @@
namespace common\models;
-use common\behaviors\SaveImgBehavior;
use Yii;
/**
@@ -27,21 +26,6 @@ class Banner extends \yii\db\ActiveRecord
return 'banner';
}
-
-
- /**
- * @inheritdoc
- */
- public function behaviors()
- {
- return [
- [
- 'class' => SaveImgBehavior::className(),
- 'directory' => 'banner'
- ],
- ];
- }
-
/**
* @inheritdoc
*/
diff --git a/common/models/Basket.php b/common/models/Basket.php
index 3330951..9ff63ac 100755
--- a/common/models/Basket.php
+++ b/common/models/Basket.php
@@ -20,7 +20,7 @@
parent::__construct($config);
}
- public function add(int $product_variant_id, int $count)
+ public function add( $product_variant_id, $count)
{
$data = $this->getData();
if(array_key_exists($product_variant_id, $data)) {
@@ -38,7 +38,7 @@
$this->setData($data);
}
- public function set(int $product_variant_id, int $count)
+ public function set( $product_variant_id, $count)
{
$data = $this->getData();
if(array_key_exists($product_variant_id, $data)) {
@@ -56,12 +56,12 @@
$this->setData($data);
}
- public function getData(): array
+ public function getData()
{
return $this->session->get('basket');
}
- public function getItem(int $product_variant_id) {
+ public function getItem( $product_variant_id) {
$data = $this->getData();
if(!empty($data[$product_variant_id])) {
return $data[$product_variant_id];
@@ -75,7 +75,7 @@
$this->session->set('basket', $data);
}
- public function getSum(): float
+ public function getSum()
{
$data = $this->getData();
$sum = 0;
@@ -85,12 +85,12 @@
return $sum;
}
- public function getCount(): int {
+ public function getCount() {
$data = $this->getData();
return count($data);
}
- public function findModel(int $product_variant_id): ProductVariant
+ public function findModel( $product_variant_id)
{
$model = ProductVariant::find()
->where([ 'product_variant_id' => $product_variant_id ])
diff --git a/common/models/Bg.php b/common/models/Bg.php
index 405ad39..aabd040 100755
--- a/common/models/Bg.php
+++ b/common/models/Bg.php
@@ -2,8 +2,6 @@
namespace common\models;
-use common\behaviors\SaveImgBehavior;
-
class Bg extends \yii\db\ActiveRecord
{
public $old_image;
@@ -12,20 +10,7 @@ class Bg extends \yii\db\ActiveRecord
{
return 'bg';
}
-
- /**
- * @inheritdoc
- */
- public function behaviors()
- {
- return [
- [
- 'class' => SaveImgBehavior::className(),
- 'directory' => 'bg'
- ],
- ];
- }
-
+
public function rules()
{
return [
diff --git a/common/models/Customer.php b/common/models/Customer.php
index d64fd12..8cb51e4 100644
--- a/common/models/Customer.php
+++ b/common/models/Customer.php
@@ -88,6 +88,30 @@ class Customer extends User implements \yii\web\IdentityInterface
/**
* @return \yii\db\ActiveQuery
*/
+ public function getArtboxComments()
+ {
+ return $this->hasMany(ArtboxComment::className(), ['user_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getArtboxCommentRatings()
+ {
+ return $this->hasMany(ArtboxCommentRating::className(), ['user_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
+ public function getArtboxLikes()
+ {
+ return $this->hasMany(ArtboxLike::className(), ['user_id' => 'id']);
+ }
+
+ /**
+ * @return \yii\db\ActiveQuery
+ */
public function getShares()
{
return $this->hasMany(Share::className(), ['user_id' => 'id']);
diff --git a/common/models/CustomerSearch.php b/common/models/CustomerSearch.php
index ab3b5d2..9cd6feb 100755
--- a/common/models/CustomerSearch.php
+++ b/common/models/CustomerSearch.php
@@ -18,12 +18,8 @@ class CustomerSearch extends Customer
public function rules()
{
return [
- [['date_time'], 'safe'],
- [['birth_day', 'birth_month', 'birth_year', 'group_id', 'status', 'created_at', 'updated_at'], 'integer'],
- [['body'], 'string'],
- [['status'],'default', 'value' => '10'],
- [['username', 'name', 'surname', 'phone', 'email', 'password_reset_token','username', 'password_hash'], 'string', 'max' => 255],
- [['gender', 'auth_key'], 'string', 'max' => 32],
+ [['id', 'birth_day', 'birth_month', 'birth_year', 'group_id'], 'integer'],
+ [['username', 'password', 'name', 'surname', 'phone', 'date_time', 'sex', 'body'], 'safe'],
];
}
@@ -72,9 +68,11 @@ class CustomerSearch extends Customer
]);
$query->andFilterWhere(['like', 'username', $this->username])
+ ->andFilterWhere(['like', 'password', $this->password])
->andFilterWhere(['like', 'name', $this->name])
->andFilterWhere(['like', 'surname', $this->surname])
->andFilterWhere(['like', 'phone', $this->phone])
+ ->andFilterWhere(['like', 'sex', $this->sex])
->andFilterWhere(['like', 'body', $this->body]);
return $dataProvider;
diff --git a/common/models/SliderImage.php b/common/models/SliderImage.php
index e54c941..b24fa3c 100755
--- a/common/models/SliderImage.php
+++ b/common/models/SliderImage.php
@@ -2,7 +2,6 @@
namespace common\models;
-use common\behaviors\SaveImgBehavior;
use Yii;
/**
@@ -21,23 +20,6 @@ use Yii;
*/
class SliderImage extends \yii\db\ActiveRecord
{
-
-
-
- /**
- * @inheritdoc
- */
- public function behaviors()
- {
- return [
- [
- 'class' => SaveImgBehavior::className(),
- 'directory' => 'slider'
- ]
- ];
- }
-
-
/**
* @inheritdoc
*/
@@ -75,8 +57,6 @@ class SliderImage extends \yii\db\ActiveRecord
];
}
-
-
/**
* @return \yii\db\ActiveQuery
*/
@@ -85,6 +65,12 @@ class SliderImage extends \yii\db\ActiveRecord
return $this->hasOne(Slider::className(), ['slider_id' => 'slider_id']);
}
+ public function getImageFile() {
+ return empty($this->image) ? null : '/storage/slider/'. $this->image;
+ }
+ public function getImageUrl() {
+ return empty($this->image) ? null : '/storage/slider/'. $this->image;
+ }
}
diff --git a/common/modules/comment/widgets/CommentWidget.php b/common/modules/comment/widgets/CommentWidget.php
index 797b705..c6f643a 100755
--- a/common/modules/comment/widgets/CommentWidget.php
+++ b/common/modules/comment/widgets/CommentWidget.php
@@ -270,7 +270,7 @@
* @return CommentInterface Comment model
* @throws InvalidConfigException If object not instance of \yii\base\Model
*/
- protected function createModel(string $className, array $config = [ ]): CommentInterface
+ protected function createModel( $className, $config = [ ])
{
$options = array_merge($config, [ 'class' => $className ]);
$object = Yii::createObject($options);
@@ -289,7 +289,7 @@
* @return CommentInterface Comment model
* @throws InvalidConfigException If object not instance of \yii\base\Model
*/
- protected function createRating(string $className, array $config = [ ]): RatingModel
+ protected function createRating( $className, $config = [ ])
{
$options = array_merge($config, [ 'class' => $className ]);
$object = Yii::createObject($options);
@@ -340,7 +340,7 @@
/**
* @return string
*/
- protected function renderWidget(): string
+ protected function renderWidget()
{
$layout = $this->layout;
$parts = $this->parts;
diff --git a/common/modules/product/models/Brand.php b/common/modules/product/models/Brand.php
index 4ccfba4..f519631 100755
--- a/common/modules/product/models/Brand.php
+++ b/common/modules/product/models/Brand.php
@@ -60,7 +60,6 @@ class Brand extends \yii\db\ActiveRecord
return [
[['name'], 'string'],
[['brand_name_id'], 'integer'],
- [['in_menu'], 'boolean'],
[['meta_desc', 'seo_text'], 'string'],
[['alias', 'name'], 'string', 'max' => 250],
[['meta_title', 'image'], 'string', 'max' => 255],
@@ -86,7 +85,6 @@ class Brand extends \yii\db\ActiveRecord
'meta_desc' => Yii::t('product', 'Meta Desc'),
'meta_robots' => Yii::t('product', 'Meta Robots'),
'seo_text' => Yii::t('product', 'Seo Text'),
- 'in_menu' => Yii::t('product', 'Выводить в меню'),
];
}
diff --git a/common/modules/product/widgets/views/product_smart.php b/common/modules/product/widgets/views/product_smart.php
index 52016b7..83884d4 100755
--- a/common/modules/product/widgets/views/product_smart.php
+++ b/common/modules/product/widgets/views/product_smart.php
@@ -9,84 +9,61 @@ use yii\helpers\Url;
-
- = Html::a( $product->name, Url::to(['catalog/product', 'product' => $product->alias]), ['class'=>'btn-product-details'] )?>
-
+
-
-
- Цена:
-
- = $product->variant->price ?>
- грн
-
-
-
-
-
Особенности
-
-
-
-
- Бренд: = $product->brand->name ?>
-
- getActiveProperties($product->category->category_id) as $group): ?>
- = $group->name ?> _options as $option) : ?> = $option->ValueRenderHTML ?>
-
+
+
+
+
+ есть на складе
+
+
+
+
+ Код: =$product->variant->sku?>
-
-
-
- Цена:
-
- ';
-
- // есть скидка
- echo '';
- if($product->enabledVariants[ 0 ]->price_old != 0 && $product->enabledVariants[ 0 ]->price_old != $product->enabledVariants[ 0 ]->price) {
- echo '' . $product->enabledVariants[0]->price_old . ' грн. ';
- echo $product->enabledVariants[0]->price . ' грн.
';
- } else {
- echo ''.$product->enabledVariants[0]->price . ' грн. ';
- }
- echo ' ';
- echo ' ';
- ?>
-
-
+
+
= $product->variant->price ?> грн
+
-
+
+
+ //=$product->variant->product_variant_id; ?>
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/common/modules/product/widgets/views/products_block.php b/common/modules/product/widgets/views/products_block.php
index 59152aa..ab22d56 100755
--- a/common/modules/product/widgets/views/products_block.php
+++ b/common/modules/product/widgets/views/products_block.php
@@ -4,28 +4,40 @@ use yii\web\View;
-
= $title?>
-
-
- = $this->render('product_smart', ['product' => $product]);?>
-
+
+
+//= $title?>
+
+
+
+ = $this->render('product_smart', ['product' => $product]);?>
+
+
-
+
registerJs($js, View::POS_READY);
?>
-
\ No newline at end of file
+
+
diff --git a/composer.json b/composer.json
index 7a37378..815d06a 100755
--- a/composer.json
+++ b/composer.json
@@ -63,4 +63,3 @@
}
}
}
-
diff --git a/frontend/assets/AppAsset.php b/frontend/assets/AppAsset.php
index 6c77713..f9a03e2 100755
--- a/frontend/assets/AppAsset.php
+++ b/frontend/assets/AppAsset.php
@@ -26,7 +26,8 @@ class AppAsset extends AssetBundle
//'js/js_head.js',
//'js/js_footer.js',
'/js/artbox_basket.js',
- 'js/script.js',
+// 'js/script.js',
+ 'js/new_script.js',
];
public $depends = [
'yii\web\JqueryAsset',
diff --git a/frontend/controllers/CatalogController.php b/frontend/controllers/CatalogController.php
index d4a8377..afe354c 100755
--- a/frontend/controllers/CatalogController.php
+++ b/frontend/controllers/CatalogController.php
@@ -164,19 +164,19 @@ class CatalogController extends \yii\web\Controller
]);
}
-// public function actionBrands()
-// {
-// $dataProvider = new ActiveDataProvider([
-// 'query' => Brand::find()->orderBy('name'),
-// 'pagination' => [
-// 'pageSize' => -1,
-// ]
-// ]);
-//
-// return $this->render('brands', [
-// 'dataProvider' => $dataProvider,
-// ]);
-// }
+ public function actionBrands()
+ {
+ $dataProvider = new ActiveDataProvider([
+ 'query' => Brand::find()->orderBy('name'),
+ 'pagination' => [
+ 'pageSize' => -1,
+ ]
+ ]);
+
+ return $this->render('brands', [
+ 'dataProvider' => $dataProvider,
+ ]);
+ }
public function actionBrand($brand)
{
diff --git a/frontend/views/catalog/brand.php b/frontend/views/catalog/brand.php
deleted file mode 100755
index c1bfd61..0000000
--- a/frontend/views/catalog/brand.php
+++ /dev/null
@@ -1,241 +0,0 @@
-params['seo']['title'] = !empty($category->meta_title) ? $category->meta_title : '';
-
-$this->params['seo']['fields']['meta-title'] = $category->meta_title;
-$this->params['seo']['h1'] = !empty($category->h1) ? $category->h1 : $category->name;
-$this->params['seo']['seo_text'] = $category->seo_text;
-$this->params['seo']['description'] = $category->meta_desc;
-$this->params['seo']['meta'] = $category->meta_robots;
-$this->params['seo']['category_name'] = $category->name;
-
-$this->params['breadcrumbs'][] = $category->name;
-?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
= Seo::widget([ 'row'=>'h1'])?>
-
-
-
-
- Сортировка:
- = \yii\widgets\LinkSorter::widget([
- 'sort' => $productProvider->sort,
- 'attributes' => [
- 'price',
- ]
- ]);
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
- = ListView::widget([
- 'dataProvider' => $productProvider,
- 'itemView' => function ($model, $key, $index, $widget) use($category) {
- return $this->render('_product_item',[
- 'model' => $model,
- 'category' => $category
- ]);
- },
- 'layout' => "{items}
{pager}",
- ])
-
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/frontend/views/catalog/products.php b/frontend/views/catalog/products.php
index 5ebcd39..ba6e08a 100755
--- a/frontend/views/catalog/products.php
+++ b/frontend/views/catalog/products.php
@@ -36,104 +36,324 @@ use yii\helpers\Url;
-->
-
-
- = FilterWidget::widget([
- 'category'=>$category,
- 'groups'=> $groups,
- 'filter'=> $filter,
- 'brands' => $brands
- ])?>
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = FilterWidget::widget([
+ 'category'=>$category,
+ 'groups'=> $groups,
+ 'filter'=> $filter,
+ 'brands' => $brands
+ ])?>
+
-
-
-
+
+
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
- = ListView::widget([
- 'dataProvider' => $productProvider,
- 'itemView' => function ($model, $key, $index, $widget) use($category) {
- return $this->render('_product_item',[
- 'model' => $model,
- 'category' => $category
- ]);
- },
- 'layout' => "{items}
{pager}",
- ])
- ?>
+
= Seo::widget([ 'row'=>'h1'])?>
+
+
+
+
+
+
+ Сортировка:
+ = \yii\widgets\LinkSorter::widget([
+ 'sort' => $productProvider->sort,
+ 'attributes' => [
+ 'price',
+ ]
+ ]);
+ ?>
+
+
+
-
-
+
+
+
+
+
+
+
+
+ = ListView::widget([
+ 'dataProvider' => $productProvider,
+ 'itemView' => function ($model, $key, $index, $widget) use($category) {
+ return $this->render('_product_item',[
+ 'model' => $model,
+ 'category' => $category
+ ]);
+ },
+ 'layout' => "{items}
{pager}",
+ ])
+
+ ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
Магазин люстр в Киеве: изделия на любой вкус!
+
Любой интерьер будет смотреться незавершенным, если не выбраны подходящие люстры, светильники (Киев). Посетив салон люстр в Киеве можно подобрать действительно интересные осветительные приборы, внося новые черты в интерьер, расставляя правильные акценты, подчеркивая неповторимость дизайна. А благодаря нашему сайту «Линия света» вы сможете купить люстру в интернете, без труда подбирая подходящую модель и экономя свои средства.
+
Приобрести люстры через интернет-магазин: что предлагается
+
Если вы присматриваете, где можно купить люстру в Украине – заходите на наш сайт, у нас имеется огромный выбор разнообразной продукции. Через наш реализующий люстры в Киеве интернет-магазин можно подобрать любые модели – от популярной классики до ультрасовременных подвесов. При этом купить люстру в интернет-магазине представится возможность по весьма приятным расценкам. Если же вас интересует, как купить люстры, цены которых будут максимально невысокими – присмотритесь к предложениям в разделе «распродажа» на сайте. Вообще же наш демонстрирующий разнообразные люстры каталог (цены различные), включает такие типы продукции, как:
+
+ Классические, подвесные. Продажа люстр этой разновидности ведется наиболее активно – они всегда в моде, хорошо смотрятся во всех интерьерах, отличаются практичностью. На такие люстры в Киеве цена может быть самой различной – но она всегда будет оптимальна качественности и внешней привлекательности присмотренного изделия.
+ Более креативные люстры – это разнообразные потолочные светильники. Эти качественные люстры и светильники могут иметь различные дизайны, быть разных размеров. Параметры такой люстры интернет-магазин может подобрать в соответствии с индивидуальными размерами помещения, его дизайном.
+
+
Также вы всегда сможете заказать люстру в интернет-магазине «Linija-svitla» в том стиле, который наиболее подойдет под ваши требования. Наш магазин люстр может предложить изделия в винтажном стиле (достаточно модном сегодня), классические модели, а также ультрасовременные авангардные люстры и товары, относящиеся к стилю хай-тек. На все предлагаемые люстры цена в Украине – одна из наиболее доступных.
+
Люстры он-лайн на сайте «Linija-svitla»: преимущества покупок
+
Планируя купить люстру через интернет – оцените все преимущества сотрудничества с нашим сайтом:
+
+ Наш каталог люстр включает большое количество разнообразных товаров. Поэтому с нами купить люстры в интернете можно быстро и без потери времени.
+ У нас можно качественные и красивые люстры купить от надежных производителей. Через наш ресурс, возможно купить люстру в Киеве от бренда Massive – изделия этого производителя красивы, добротно сделаны, отличаются стильным видом и долговечностью. Учитывайте, планируя купить люстру - цены на товары от Massive будут несколько выше, нежели на подделки, которые может предложить отечественный рынок, но эта стоимость оправдывается качественностью электроприборов (на которых, как известно, экономить нельзя).
+ Самая демократичная на такой предмет, как люстра, цена. Если вы решили купить люстру, магазин «Линия Света» всегда предоставит возможность приобрести действительно качественный товар по минимальным расценкам.
+
+
Где купить люстру в Киеве?
+
Вопрос, «где можно купить люстры в Украине» решен – это можно сделать на сайте «Linija-svitla». Если вам требуется хорошие люстры купить - интернет-магазин в Украине «Линия света» может предложить большой перечень интересных разновидностей товаров данной категории. Задаваясь вопросом «сколько стоит люстра» учитывайте, что осветительные приборы во многом будут отображать ваш статус. А это значит, что как приобретение, так и подключение люстры стоимость не может иметь слишком низкую. Выбирать следует в первую очередь качественную работу, а потом уже доступные расценки. И помочь найти нужный товар смогут наши магазины люстр в Киеве. Для тех же, кто предпочитает делать интернет-заказы существует доставка по городам всей Украины, таким как: Днепропетровск, Харьков, Одесса, Запорожье, Киев, Херсон, Мариуполь, Полтава, Кривой Рог, Винница, Сумы, Черкассы, Николаев, Кременчуг, Хмельницкий, Чернигов, Житомир и др. При этом, цена на все реализуемые изделия вас наверняка сможет обрадовать.
+
+
+
-
+
+
+ Люстры - одна из основных специализаций нашего каталога светильников в разделе люстры. Эти товары предоставлены у нас по самым лучшим ценам: Люстры Массив 41017/32/10, Люстры Массив 40851/33/10, Люстры Есео 40523/17/13, Люстры Массив 40865/11/10. Рекомендуем вам не сомневаться и позвонить нашему консультанту. Он поможет подобрать красивые люстры именно для вас.
+
diff --git a/frontend/views/layouts/cabinet.php b/frontend/views/layouts/cabinet.php
index 0f60242..e4014fc 100644
--- a/frontend/views/layouts/cabinet.php
+++ b/frontend/views/layouts/cabinet.php
@@ -5,27 +5,29 @@ use yii\helpers\Url;
$this->beginContent('@app/views/layouts/main.php');
?>
-
= Yii::t('app', 'personal_data'); ?>
+
+
= Yii::t('app', 'personal_data'); ?>
-
-