Github地址 欢迎大家一起维护:)
Demo源码
有内容列表的文章更方便阅读 见这里
另团队急需人才,有兴趣的朋友请联系 [email protected] 或 QQ 1283233833 ,待遇高过同等大公司,阿姨做饭,春节假期前后各一周可在家远程办公,公司地点在团结湖盈科中心。
php artisan make:model Tag --migration
php artisan make:controller Tag/TagController
Route::group(['prefix'=>'admin'],function(){
Route::resource('tags','Tag\TagController');
});
打开 config/forone.php
并添加标签管理配置
'menus' => [
'标签管理' => [
'active_uri' => 'roles',
'icon' => null,
'permission_name' => 'admin.roles.index',
'route_name' => 'admin.tags.index',
'is_redirect' => true,
],
'nav_titles' => [
'admin.tags.index' => '标签管理',
'admin.tags.create' => '新建标签',
'admin.tags.edit' => '编辑标签',
'admin.tags.show' => '查看标签',
],
通过URI
和NAME
进行view渲染、页面跳转等配置,需要Controller扩展自Forone的BaseController
use Forone\Admin\Controllers\BaseController
class TagController extends BaseController
{
const URI = 'tags';
const NAME = '标签';
function __construct()
{
parent::__construct();
view()->share('page_name', self::NAME);
view()->share('uri', self::URI);
}
通过 columns
的配置进行数据列表的配置,通过items
进行分页数据填充
public function index()
{
$results = [
'columns' => [
['编号', 'id'],
['标签名', 'name'],
['创建时间', 'created_at'],
['更新时间', 'updated_at'],
['操作', 'buttons', function ($data) {
$buttons = [
['查看'],
['编辑'],
];
return $buttons;
}]
]
];
$paginate = Tag::paginate();
$results['items'] = $paginate;
return $this->view(self::URI.'.index',compact('results'));
}
在 resources/views/tags/
目录下创建 index.blade.php
文件,作为数据列表页模板
@section('main')
{!! Html::list_header([
'new'=>true,
]) !!}
{!! Html::datagrid($results) !!}
@stop
然后数据列表页就完成了
public function create()
{
return $this->view(self::URI.'.create');
}
public function store(CreateTagRequest $request)
{
$data=$request->only('name');
Tag::create($data);
return redirect()->route('admin.'.self::URI.'.index');
}
使用 Tag::create
方法存储数据需要编辑model
的Tag.php
protected $guarded = array();
在 resources/views/tags/
目录下创建 create.blade.php
文件,作为数据编辑页模板,并创建 form.blade.php
作为创建、编辑、查看的通用form表单模板
其中form
模板为
{!! Form::group_text('name','标签名','请输入标签名') !!}
create
模板为
@extends('forone::layouts.master')
@section('title', '新建'.$page_name)
@section('main')
{!! Form::panel_start('新建'.$page_name) !!}
@if (Input::old())
{!! Form::model(Input::old(),['url'=>'admin/'.$uri,'class'=>'form-horizontal']) !!}
@else
{!! Form::open(['url'=>'admin/'.$uri,'class'=>'form-horizontal']) !!}
@endif
@include($uri.'.form')
{!! Form::panel_end('保存') !!}
{!! Form::close() !!}
@stop
点击 "新建" 按钮后看到新建页面
CreateTagRequest
验证请求
规则如下
public function rules()
{
return [
'name' => 'required|max:50|unique:tags',
];
}
public function messages()
{
return [
'name.required' => '标签名称不能为空',
'name.unique' => '标签名称不能重复',
'name.max' => '标签名称长度小于50',
];
}
点击"保存"
public function show($id)
{
$data = Tag::findOrFail($id);
if ($data) {
return view(self::URI."/show", compact('data'));
}else{
return $this->redirectWithError('数据未找到');
}
}
show.blade.php
模板@extends('forone::layouts.master')
@section('title', '查看'.$page_name)
@section('main')
{!! Form::model($data,['url'=>Request::url().'/edit','class'=>'form-horizontal', 'method'=>'GET']) !!}
@include('tags.form', ['show'=>true])
{!! Form::close() !!}
@stop
点击"查看"
public function edit($id)
{
$data = Tag::find($id);
if ($data) {
return view(self::URI."/edit", compact('data'));
} else {
return $this->redirectWithError('数据未找到');
}
}
public function update(UpdateTagRequest $request, $id)
{
$data = $request->only(['name']);
Tag::findOrFail($id)->update($data);
return redirect()->route('admin.tags.index');
}
@extends('forone::layouts.master')
@section('title', '更新'.$page_name)
@section('main')
{!! Form::panel_start('编辑'.$page_name) !!}
{!! Form::model($data,['method'=>'PUT','route'=>['admin.'.$uri.'.update',$data->id],'class'=>'form-horizontal']) !!}
@include($uri.'.form')
{!! Form::panel_end('保存') !!}
{!! Form::close() !!}
@stop
点击“编辑”
点击“保存”
1
starit 2015-08-10 21:33:49 +08:00
如果支持远程兼职工作,可以考虑考虑。。。
现在已经有工作了。。 |
4
laferm 2015-08-13 08:24:02 +08:00 via Android
不错
|