header(admin_trans( 'admin.promotional_materials'))
->breadcrumb(['text'=>'list','url'=>''])
->body($this->grid());
}
//屏蔽删除
public function destroy($id)
{
abort(404);
}
//屏蔽创建
public function create(Content $content)
{
abort(404);
}
//屏蔽编辑
public function edit($id, Content $content)
{
abort(404);
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
//相册分类
$lang = config('app.locale');//当前语言
$rpcAlbumFolder = RpcAlbumFolder::selectOptions($lang);
return Grid::make(new RpcAlbum(), function (Grid $grid) use ($rpcAlbumFolder, $lang) {
$grid->view('admin.grid.table');
$grid->column('id')->display(function () {
return $this->_index+1;
});
$grid->column('cover')->display(function ($images) {
$images = json_decode($images);
// 限制最多显示2个缩略图
$dataImages = array_slice($images, 0, 1);
return CommonHelper::displayImage($dataImages,100,1024,2);
});
if ($lang == 'en') {
$grid->column('title_en');
} else {
$grid->column('title');
}
$grid->column('model');
$grid->column('updated_at')->sortable();
// 筛选
$grid->filter(function (Grid\Filter $filter) use ($rpcAlbumFolder, $lang) {
$filter->panel();
$filter->expand();
$filter->equal('model')->width(2);
$filter->equal('folder_id',admin_trans_label('product_category'))->select($rpcAlbumFolder)->width(3);
});
// 删除新增按钮
$grid->disableCreateButton();
$grid->disableEditButton();
$grid->disableDeleteButton();
$grid->disableBatchDelete();
// 添加批量复制操作
$grid->batchActions(function ($batch) {
//$batch->add(new BatchCopy()); 只能2选1
});
$grid->model()->where('enabled',1)->orderBy("order",'desc')->orderBy("created_at",'desc');
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new RpcAlbum(), function (Show $show) {
$lang = config('app.locale');//当前语言
//名称
if ($lang == 'en') {
$show->field('title');
} else {
$show->field('title_en');
}
//型号
if ($show->model()->model) {
$show->field('model');
}
//属性
if ($show->model()->parameters) {
$show->field('parameters', admin_trans_label('attribute'))->as(function ($items) {
$items = json_decode($items);
if (is_array($items)) {
// 创建表格的表头
$table = '
';
// 遍历数组并将数据填充到表格中
foreach ($items as $item) {
$item = (array)$item;
$table .= '';
$table .= '' . $item['key'] . ' | '; // 商品名称
$table .= '' . $item['value'] . ' | '; // 数量
$table .= '
';
}
$table .= '
';
return $table;
}
return ''; // 当没有数组数据时
})->unescape();
}
//封面
if (empty($show->model()->cover) == false && $show->model()->cover!= '[]') {
$show->field('cover')->as(function ($images) {
$images = json_decode($images);
return CommonHelper::displayImage($images,150,1024,2);
})->unescape();
}
//详情
if (empty($show->model()->en_detail) == false && $show->model()->en_detail!= '[]') {
$show->field('en_detail')->as(function ($images) {
$images = json_decode($images);
$html = '';
foreach ($images as $key => $image) {
$url = CommonHelper::albumUrl($image);
$html .= '

';
}
$html .= '
';
return $html;
})->unescape();
}
//视频
if (empty($show->model()->video) == false && $show->model()->video!= '[]') {
$show->field('video')->as(function ($items) {
$items = json_decode($items);
//倒序
$items = array_reverse($items);
return CommonHelper::displayVideo($items,'cover','video_src','150',2);
})->unescape();
}
//海报
if (empty($show->model()->poster) == false && $show->model()->poster!= '[]') {
$show->field('poster')->as(function ($images) {
$images = json_decode($images);
return CommonHelper::displayImage($images,150,1024,2);
})->unescape();
}
//证书
if (empty($show->model()->cert) == false && $show->model()->cert != '[]') {
$show->field('cert')->as(function ($images) {
$images = json_decode($images);
return CommonHelper::displayImage($images,150,1024,2);
})->unescape();
}
//PDF
if (empty($show->model()->pdf) == false && $show->model()->pdf != '[]') {
$show->field('pdf')->as(function ($items) use ($lang) {
$items = json_decode($items);
if (is_array($items)) {
//倒序
$items = array_reverse($items);
// 创建表格的表头
$table = '';
// 遍历数组并将数据填充到表格中
foreach ($items as $item) {
$pdf_title = $item->pdf_title;
if ($lang == 'en') {
$pdf_title = $item->pdf_title_en;
}
$table .= '';
$table .= '' . $pdf_title . ' | '; // 商品名称
$table .= '查看 | '; // 数量
$table .= '
';
}
$table .= '
';
return $table;
}
return ''; // 当没有数组数据时
})->unescape();
}
// 禁用操作
$show->disableEditButton();
$show->disableDeleteButton();
});
}
}