Browse Source

完成商品详情页面列表字段修改

wechat_public_accounts
linyaostalker 5 years ago
parent
commit
ffb468659b
  1. 1
      vendor/antgoods/goods/src/controllers/GoodsController.php
  2. 16
      vendor/antgoods/goods/src/models/ars/Goods.php
  3. 90
      vendor/antgoods/goods/src/views/goods/view.php

1
vendor/antgoods/goods/src/controllers/GoodsController.php

@ -85,6 +85,7 @@ class GoodsController extends Controller
{ {
$model = new Goods(); $model = new Goods();
$model->is_sale = Goods::IS_SALE_YES; $model->is_sale = Goods::IS_SALE_YES;
$model->stock = -1;
if ($model->load(Yii::$app->request->post()) && $model->validate()) { if ($model->load(Yii::$app->request->post()) && $model->validate()) {
//商品封面图和商品详情图上传保存处理 //商品封面图和商品详情图上传保存处理
$res = GoodsManager::updateGoods(Yii::$app->request->post(), $model); $res = GoodsManager::updateGoods(Yii::$app->request->post(), $model);

16
vendor/antgoods/goods/src/models/ars/Goods.php

@ -7,6 +7,8 @@ use yii\behaviors\TimestampBehavior;
use antgoods\goods\models\ars\Category; use antgoods\goods\models\ars\Category;
use antgoods\goods\models\ars\ShopCategory; use antgoods\goods\models\ars\ShopCategory;
use common\models\ars\File; use common\models\ars\File;
use antgoods\goods\models\ars\Brand;
use antgoods\goods\models\ars\Supplier;
/** /**
* This is the model class for table "antgoods_goods". * This is the model class for table "antgoods_goods".
@ -122,12 +124,12 @@ class Goods extends \yii\db\ActiveRecord
'id' => 'id', 'id' => 'id',
'pid' => '父级id', 'pid' => '父级id',
'cat_id' => '后台商品类别', 'cat_id' => '后台商品类别',
'brand_id' => '品牌id',
'brand_id' => '品牌',
'shop_cat_id' => '前端商品类别', 'shop_cat_id' => '前端商品类别',
'name' => '商品名称', 'name' => '商品名称',
'sn' => '商品唯一货号', 'sn' => '商品唯一货号',
'code' => '商品货码', 'code' => '商品货码',
'supplier_id' => '供应商id',
'supplier_id' => '供应商',
'weight' => '重量', 'weight' => '重量',
'length' => '长度', 'length' => '长度',
'width' => '宽度', 'width' => '宽度',
@ -204,4 +206,14 @@ class Goods extends \yii\db\ActiveRecord
{ {
return $this->hasOne(File::className(), ['id' => 'image']); return $this->hasOne(File::className(), ['id' => 'image']);
} }
public function getBrand()
{
return $this->hasOne(Brand::className(), ['id' => 'brand_id']);
}
public function getSupplier()
{
return $this->hasOne(Supplier::className(), ['id' => 'supplier_id']);
}
} }

90
vendor/antgoods/goods/src/views/goods/view.php

@ -1,7 +1,9 @@
<?php <?php
use yii\helpers\Html;
use antgoods\goods\models\ars\Goods;
use yii\bootstrap4\Html;
use yii\widgets\DetailView; use yii\widgets\DetailView;
use common\models\ars\File;
/* @var $this yii\web\View */ /* @var $this yii\web\View */
/* @var $model antgoods\goods\models\ars\Goods */ /* @var $model antgoods\goods\models\ars\Goods */
@ -21,36 +23,88 @@ $this->params['breadcrumbs'][] = $this->title;
'model' => $model, 'model' => $model,
'attributes' => [ 'attributes' => [
'id', 'id',
'pid',
'cat_id',
'brand_id',
'shop_cat_id',
'name', 'name',
'sn', 'sn',
[
'attribute' => 'cat_id',
'width' => '10%',
'value' => function ($model) {
return $model->category ? $model->category->name : '';
},
],
[
'attribute' => 'shop_cat_id',
'width' => '10%',
'value' => function ($model) {
return $model->shopCategory ? $model->shopCategory->name : '';
},
],
[
'attribute' => 'brand_id',
'width' => '10%',
'value' => function ($model) {
return $model->brand ? $model->brand->name : '';
},
],
'code', 'code',
'supplier_id',
[
'attribute' => 'supplier_id',
'width' => '10%',
'value' => function ($model) {
return $model->supplier ? $model->supplier->name : '';
},
],
'weight', 'weight',
'length', 'length',
'width', 'width',
'height', 'height',
'diameter', 'diameter',
'unit', 'unit',
'sold_count',
'limit_count',
'stock',
'stock_warn',
[
'attribute' => 'stock',
'width' => '5%',
'value' => function ($model) {
if ($model->stock == -1) {
return '未开启';
} else {
return $model->stock;
}
},
],
'market_price', 'market_price',
'price', 'price',
'brief', 'brief',
'description:ntext',
'image',
'model_id',
'is_sale',
['attribute' => 'image',
'format' => 'raw',
'value' => function ($model) {
return $model->image ?
Html::img(['/'.$model->imageFile->path], ['style' => 'width:80px'])
: '<div class="table_not_setting">未设置</div>';
}
],
[
'label' => '详情图',
'format' => 'raw',
'value' => function ($model) {
$image = '';
$imgs = File::findAll(['own_id' => $model->id, 'own_type' => File::OWN_TYPE_GOODS_DETAILS, 'is_delete' => File::IS_DELETE_NO]);
foreach ($imgs as $img) {
$image .= Html::img(['/'.$img->path], ['style' => 'width:150px']);
}
return $image;
}
],
['attribute' => 'is_sale',
'width' => '5%',
'value' =>
function ($model) {
return $model->is_sale ? Goods::$isSale[$model->is_sale] : '未设置';
},
],
'sort_order', 'sort_order',
'bouns_points',
'experience_points',
'is_delete',
'express_template',
'created_at:datetime', 'created_at:datetime',
'updated_at:datetime', 'updated_at:datetime',
], ],

Loading…
Cancel
Save