daison / admin-laravel
为您的Laravel网站准备的现成管理后台。
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
- nesbot/carbon: *
This package is auto-updated.
Last update: 2024-09-15 06:55:32 UTC
README
我在寻找什么?
- 开发者 - 能帮助我修改、重构和添加功能的人。
- 翻译者 - 您可以通过翻译响应消息来帮忙。
- 设计师 - 可以将资产转换为独特设计的设计师,而不仅仅是使用免费设计。荣誉属于您。
Laravel Admin
我仍在更新这个管理包,当您使用dev-master
时,您将看到一些示例路由和导航链接,这些都是我测试此包所有功能的示例。每个版本都有一个分支,您需要切换到特定README文件所使用的分支。
无论如何,我使用这个设计http://www.blacktie.co/demo/dashgumfree/作为我的基础,所以请尝试审查代码,稍后我会导入其他您可以轻松配置的管理模板。好评!
启动
将其包含在您的composer中,如果您想使用最新分支,请使用dev-master
"require": {
"daison/admin-laravel": "1.2.*"
}
更新您的composer
composer update
转到/app/config/app.php并添加此行
'Daison\AdminLaravel\AdminLaravelServiceProvider',
转到您的命令行并发布配置、视图和资源
php artisan config:publish daison/admin-laravel php artisan view:publish daison/admin-laravel php artisan asset:publish daison/admin-laravel --path="vendor/daison/admin-laravel/src/assets"
设置您的数据库和Laravel配置,并运行包迁移
php artisan migrate --package="daison/admin-laravel"
或者如果您有现有的用户表,则使用发布
php artisan migrate:publish daison/admin-laravel
预测试
转到您的浏览器localhost:8080/admin您现在可以访问管理登录页面
转到您的命令行,让我们创建一个账户来测试这个管理面板
php artisan tinker
> $user = new User;
> $user->email = "email@gmail.com";
> $user->password = Hash::make('abcd');
> $user->save();
> $role = new Role;
> $role->name = 'superuser';
> $role->save();
> $user_role = new UserHasRole;
> $user_role->user_id = $user->id;
> $user_role->role_id = $role->id;
> $user_role->save();
返回到页面,登录您刚刚创建的账户。
准备好了!现在您可以看到导航栏、站点名称,甚至注销按钮,让我们转到配置。
配置
记得我们使用了这个命令php artisan config:publish daison/admin-laravel
转到/app/config/packages/daison/admin-laravel/文件夹,您可以看到这些文件
- lang
- en.php
- general.php
- navigations.php
- routes.php
#### 导航 创建我们的示例导航
[name] => [
'name' => 'Navigation Name',
'icon' => 'fa fa-home fa-fv',
'url' => '/admin/sample',
'items'=> [
[name] => [
'name' => 'Second Level Nav Name',
'icon => '',
'url' => '/admin/sample/1',
],
[name] => [
'name' => 'Second Level Nav Name',
'icon => '',
'url' => '/admin/sample/2',
],
],
],
创建这些链接后,刷新页面以查看更改。您甚至可以使用'roles' => ['superuser']
来限制视图访问。
#### 路由 基于我们的导航链接,我们需要创建一个路由来分配控制器进行工作。您也可以使用/app/config/routes.php中的原始路由文件,但我建议使用这种方法将您的原始路由与后台路由分开。
'admin_sample_get' => [
'process' => 'get',
'url' => '/admin/sample/',
'uses' => 'SampleController@showSample',
],
'admin_sample_post' => [
'process' => 'post',
'url' => '/admin/sample/',
'uses' => 'SampleController@saveSample',
],
'admin_sample_rest_get' => [
'process' => 'get',
'url' => '/admin/inventory/{id}/edit',
'uses' => 'InventoryController@showEditItem',
],
'admin_sample_rest_post' => [
'process' => 'post',
'url' => '/admin/inventory/{id}/edit',
'uses' => 'InventoryController@updateItem',
],
现在创建您的示例控制器/库存控制器,处理响应的责任由您自己决定。您甚至可以将'roles' => ['superuser']
分配给每个请求,您也可以提供'is_auth' => true
以将访客重定向到登录页面。
#### 仍在使用主路由 您仍然想使用主app/routes.php
,但是您想将角色管理用于您的路由。转到您的控制器__construct
并执行构造函数注入。
use Daison\AdminLaravel\AdminLaravel as Admin;
class MyController
{
private $admin;
public function __construct(Admin $admin)
{
$this->admin = $admin;
}
public function showProfile()
{
if ($this->admin->hasAnAccess(['superuser','agent']) == false) {
// It means the Authenticated user doesn't have roles
// Redirect the user, show the access not allowed page... and so on..
}
}
public function saveProfile()
{
// same thing as the showProfile() method.
}
}
我仍在更新这个README。