欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

laravel 使用 Laravel Administrator 插件后台,详细的安装方法

shiping1 的头像

laravel 使用 Laravel Administrator 插件后台,详细的安装方法

昨天开始研究 laravel ,由于自己 熟悉 yii 框架,所以看着文档也觉得不是很难,

于是,今天想着自己写点东西吧,写啥呢 ?

研究 thinkphp 的时候,写的是博客系统

研究 yii 的时候,还是写的 博客系统

好吧,那我还是写个博客系统吧,

说干就干,由于在一篇文章中,看到 laravel 有一个插件,是后台插件,意味着我不用写 html css js 这些烦人的东西,于是决定使用他的插件,结果掉进了大坑!
https://github.com/FrozenNode/ ... rator 官方的 git ,上面也有安装步骤

虽然有,但我还是说下吧

composer.json 添加
"require": {

    "laravel/framework": "4.2.*",

    "frozennode/administrator": "dev-master"

},


composer update


等待更新完成,往app/config/app.php 里面的providers数组里面添加一条
'Frozennode\Administrator\AdministratorServiceProvider',


最后命令行运行
php artisan config:publish frozennode/administrator 

php artisan asset:publish frozennode/administrator


然后,官方安装教程到此结束,你以为这就完了吗?错,这才刚刚开始呢!跟着我继续往下走吧!

/bootstrap/start.php 修改
$env = $app->detectEnvironment(array(



'local' => array('homestead','myComputer'),



));


到这一步后,去app/config/database.php 里面修改你的数据库配置吧

修改完成以后,我们又需要一个东西,它就是:way/generators

在 composer.json 添加
"require-dev": {

    "way/generators": "~2.0"

},


记住是 require-dev 哦,因为这个是我们在开发时使用的

执行 composer update

等待更新完成,往app/config/app.php 里面的providers数组里面添加一条
'Way\Generators\GeneratorsServiceProvider'


然后,命令行执行
php artisan generate:migration create_users_table --fields="username:string, email:string, password:string"

php artisan generate:seed user


执行完毕后,修改你的 app/database/seeds/UserTableSeeder.php 为以下内容
<?php



class UserTableSeeder extends Seeder {



public function run()

{

  User::create([

      'username'   => 'admin',

      'email'      => 'admin@mysite.com',

      'password'   => Hash::make('thepass'),

      'created_at' => new DateTime(),

      'updated_at' => new DateTime()

  ]);

}



}


默认是 随机生成的,我们不用随机生成,就生成一条,记得改你的 密码哦

修改完成后,在你的 app/database/seeds/DatabaseSeeder.php 里面新增
$this->call('UserTableSeeder');


其实它原先是有的,只不过注释掉了

命令行执行
php artisan migrate

php artisan db:seed


然后看你的数据库,是不是有一个 users 表,里面是不是有条数据呀,如果有的话,代表你上面没有错误,没有的话,注意看看是不是拉下哪一步了

然后,我们要生成 控制器
php artisan generate:controller LoginController


同时,在你的路由里面添加一条
Route::controller('/login', 'LoginController');


好了,我们去修改 刚刚生成的LoginController 控制器,修改为 以下内容
<?php



class LoginController extends \BaseController {





public function getIndex()

{

  return View::make('login.index');

}



public function postIndex()

{

  $username = Input::get('username');

  $password = Input::get('password');



  if (Auth::attempt(['username' => $username, 'password' => $password]))

  {

      return Redirect::intended('/admin');

  }



  return Redirect::back()

      ->withInput()

      ->withErrors('Username or Password are incorrect.');

}

}


以上代码看不懂的同学,laravel 大叔叫你去看文档

我们生成视图,首先生成 layouts 下的公共视图 命令行运行
php artisan generate:view layouts.master


它会在 app/views/ 下生成layouts 文件下,里面有一个 master.blade.php 文件,我们修改里面内容为
<!DOCTYPE html>

<html lang='en'>

<head>

  <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 

  <meta charset="utf-8">

  <meta name='viewport' content='width=device-width, initial-scale=1'>



  <title>@yield('title')</title> 

  <link rel='stylesheet' href='//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css'>

  <style>

      body {

          margin-top: 10px;

      }

  </style>

</head>

<body>

  <div class='container-fluid'>

      <div class='row'>

          @yield('content')

      </div>

  </div>

</body>

</html>


我们在生成我们登陆的视图文件 命令运行
php artisan generate:view login.index


我们修改里面的内容
@extends('layouts.master')



@section('title') Login @stop



@section('content')

<div class="col-md-4 col-md-offset-4">

    <div class="panel panel-default">

            <div class="panel-heading">

                    <h3 class="panel-title">Please sign in</h3>

            </div>

            <div class="panel-body">

                    @if ($errors->has())

                            @foreach ($errors->all() as $error)

                                    <div class='alert-danger alert'>{{ $error }}</div>

                            @endforeach

                    @endif



                    {{ Form::open(['role' => 'form']) }}

                    <fieldset>

                            <div class="form-group">

                                    {{ Form::text('username', null, ['placeholder' => 'Username', 'class' => 'form-control']) }}

                            </div>

                            <div class="form-group">

                                    {{ Form::password('password', ['placeholder' => 'Password', 'class' => 'form-control']) }}

                            </div>

                                    {{ Form::submit('Login', ['class' => 'btn btn-primary']) }}

                    </fieldset>

                    {{ Form::close() }}

            </div>

    </div>

</div>

@stop


好了,我们在回到我们的 Laravel Administrator 上来,

我们去 app/config 配置文件夹下,建立一个文件夹
cd app/config



mkdir administrator



cd administrator



mkdir settings


我习惯命令行,你们也可以去文件夹里面 右键建立,一样的

建立完成后,我们修改 Laravel Administrator 的配置

修改 app/config/packages/frozennode/administrator/administrator.php
'menu' => array('users'),



'home_page' => 'users',  



'login_path' => 'login',


修改完成后,我们在 app/config/administrator 里面建立 一个 users.php ,写入以下内容
<?php



/**

* Users model config

*/



return array(



  'title' => 'Users',

  'single' => 'user',

  'model' => 'User',



  'columns' => array(

      'email' => array(

          'title' => 'Email',

      ),

      'username' => array(

          'title' => 'First Name',

      ),

  ),



  'edit_fields' => array(

      'email' => array(

          'title' => 'Email',

          'type' => 'text',

      ),

      'username' => array(

          'title' => 'Username',

          'type' => 'text',

      ),

      'password' => array(

          'title' => 'Password',

          'type' => 'password',

      ),

  ),

);


好了,这个时候,输入你的 域名/admin 登陆后台体验去吧!!

其实,我也是昨天才接触 laravel 的,加入 QQ 群,一起学习吧:
188128412 


原文出自: 袁超博客

来自  dhttp://wenda.golaravel.com/article/19
普通分类: