QQ扫一扫联系
可以参考这个
<?php
namespace App\Admin\Controller;
use App\Model\DemoNews;
use App\Model\DemoNewsCategory;
use Illuminate\Routing\Controller;
use ModStart\Admin\Concern\HasAdminDetail;
use ModStart\Admin\Concern\HasAdminForm;
use ModStart\Admin\Concern\HasAdminGrid;
use ModStart\Admin\Layout\AdminPage;
use ModStart\Core\Input\InputPackage;
use ModStart\Core\Input\Request;
use ModStart\Grid\Grid;
use ModStart\Grid\GridFilter;
use ModStart\Support\Concern\HasPageTitleInfo;
use ModStart\Widget\Box;
class DemoNewsMultiGridController extends Controller
{
use HasPageTitleInfo;
use HasAdminGrid;
use HasAdminForm;
use HasAdminDetail;
public function index(AdminPage $page)
{
$grid1 = $this->grid1();
$grid2 = $this->grid2();
if (Request::isPost()) {
switch (InputPackage::buildFromInput()->getTrimString('_grid')) {
case 'grid1':
return $grid1->request();
case 'grid2':
return $grid2->request();
}
}
return $page
->pageTitle('新闻管理(多个)')
->append(Box::make($grid1, '新闻分类'))
->append(Box::make($grid2, '新闻管理'));
}
public function grid1()
{
$grid = Grid::make(DemoNewsCategory::class);
$grid->id('id', 'ID');
$grid->text('title', '标题');
$grid->title('新闻分类');
$grid->urlGrid(modstart_admin_url('demo/news_multi_grid', ['_grid' => 'grid1']));
$grid->canAdd(false)->canEdit(false)->canDelete(false);
$grid->gridFilter(function (GridFilter $filter) {
$filter->eq('id', 'ID');
$filter->like('title', '标题');
});
return $grid;
}
public function grid2()
{
$grid = Grid::make(DemoNews::class);
$grid->id('id', 'ID');
$grid->select('categoryId', '分类')->optionModelTree(DemoNewsCategory::class);
$grid->text('title', '标题');
$grid->richHtml('content', '内容');
$grid->title('新闻管理');
$grid->urlGrid(modstart_admin_url('demo/news_multi_grid', ['_grid' => 'grid2']));
$grid->canAdd(false)->canEdit(false)->canDelete(false);
$grid->gridFilter(function (GridFilter $filter) {
$filter->eq('id', 'ID');
$filter->like('title', '标题');
});
return $grid;
}
}
系统默认使用 id 作为主键,如果需要使用自定义主键,可以通过数据模型类的方法来实现。
第一步,定义数据模型类
namespace Module\News\Model;
use Illuminate\Database\Eloquent\Model;
class News extends Model{
protected $table = 'news';
// 这里可以自定义主键
protected $primaryKey = 'nid';
}
第二步,使用数据模型类作为Form、Detail、Grid的操作对象
// 表单 $form = Form::make(News::class); // 详情 $detail = Detail::make(News::class); // 数据表格 $grid = Grid::make(News::class); // 快速CRUD $builder->init(News::class)
目前博客已经适配Member模块。
要实现功能可以安装Member模块后,在博客页面 module/Blog/View/pc/blog/show.blade.php 做一个简单判断。
@if( \Module\Member\Auth\MemberUser::id() ) <div>博客内容</div> @else <div>请先登录</div> @endif