这是首页
27 | 28 | 29 | ``` 30 | 31 | 现在,我们需要实现访问网站域名首页就能展示“这是首页”内容。 32 | 33 | 下面,我们修改下路由,文件位于 `/app/route.app` : 34 | 35 | ```php 36 | Route::get('/',function() 37 | { 38 | returnView::make('index'); 39 | }); 40 | ``` 41 | 42 | 随后,我们访问下网站首页,就能看到“这是首页”4个字。 43 | 44 | 45 | 46 | ### 展示登录页面 47 | 首页我们已经显示出来,下面,我们开始实现登录页面。 48 | `Laravel` 的 `Blade` 模版对于某些新接触的人来说,很不习惯,实际上我也不习惯,当然你也可以不使用它的一些语法,直接使用原生的`HTML/PHP` 标签。 49 | 50 | 我们先把登录页面给套出来,登录页面看起来像下图: 51 | 52 | ![20141012211031.jpg][1] 53 | 54 | > 设计不好,不喜勿喷啊。 55 | 56 | 我们先把 `js`、`img`、`css` 等资源按一定的规范放在网站根目录 `/public/assets` 文件夹下。 `assets` 文件夹下包括所有静态资源,目录结构大概如下: 57 | 58 | ``` 59 | /public/ 60 | |__ css/ 61 | |_ style.css 62 | |_ ... 63 | |__ img/ 64 | |_ favicon.ico 65 | |_ ... 66 | |__ js/ 67 | |_ script.js 68 | |_ ... 69 | |__ lib/ 70 | |__ font-awesome/ 71 | |__ fonts/ 72 | |__ ... 73 | |__ ... 74 | ``` 75 | 76 | 既然使用 `Laravel`,还是要必要学习下它的 `blade` 模版语法,以及其相关表单和HTML标签。 77 | 78 | 本人比较喜欢那种头中尾切分的那种 `layout` 布局,我们可以把 `layout` 模版按头中尾切分细一点。由于登录页面布局跟后台布局没有多大统一地方(估计就只有 `HTML meta` 声明部分有些一样),故我按以下来设置 `layout` 和 `blade` 代码。 79 | 80 | 文件位置:`/app/view/layout/base.blade.php` 81 | 82 | ```html 83 | 84 | 85 | 86 | 87 |{{ $errors->first('attempt') }}
291 | 292 | 295 | ...... 296 | ``` 297 | 298 | 好的,现在我们尝试下登录看看。 299 | 在用户名和密码错误的情况下,会出现下图: 300 | 301 | ![20141013173908.jpg][3] 302 | 303 | 在用户名和密码正确的情况下,会跳回首页。 304 | 305 | 好了,这一节就讲到这里,下一节我们继续深入。 306 | 307 | 308 | [1]: http://douyasi.com/usr/uploads/2014/10/3667231108.jpg 309 | [2]: http://douyasi.com/usr/uploads/2014/10/197222214.jpg 310 | [3]: http://douyasi.com/usr/uploads/2014/10/1532786503.jpg -------------------------------------------------------------------------------- /laravel_cms/04.md: -------------------------------------------------------------------------------- 1 | # Laravel入门教程——一个简单cms的实现(04) 2 | 3 | > 作者: douyasi 4 | > 网站:http://douyasi.com/category/startlaravel/ 5 | > 备注:本教程是在当前最新Laravel稳定版v4.2.X下实现的,其它相异版本如果有问题请自行排除。 6 | > 本文为作者原创记录,转载请保留署名与来源。 7 | 8 | ## 页面显示与路由控制(二) 9 | 10 | ### Auth继续深入使用 11 | 12 | 上一节我们只是简单地使用了下 `Auth`,这一节打算继续深入使用 `Auth`。在使用 `Auth` 时我们可能会(反正我觉得是一定会)遇到诸多问题,这是因为 `Laravel` 作者的一些认证构思与你我想象的认证构思不同。 13 | 14 | `Auth` 默认使用 `email` 作为认证验证的一个条件,还提供了诸如“记住我”快捷认证功能和找回登录密码凭证的方法。 15 | 16 | 使用 `Auth::logout()` 退出用户时,我发现框架报了一个错误,错误界面在此: 17 | 18 | ![logout_error][1] 19 | 20 | 错误原因是 `admin` 数据表中没有 `remember_token` 字段。在数据库设计时我就没考虑过这个字段,但 `Auth` 认证时有使用到,审查下 `Laravel Auth` 相关代码,我们可以发现,`logout`调用了 `refreshRememberToken` 方法。 21 | 22 | 为此,我们需要修改`admin`数据表相关字段。 23 | 24 | 为`admin`添加`remember_token`字段,也添加上`email`字段,以配合`Auth`使用。 25 | 26 | 27 | 28 | 我们为首页加上登录和退出链接,修改`index.blade.php`模版: 29 | 30 | ```php 31 | 32 | 33 | 34 | 35 |[ {{ Auth::user()->username }} ] 退出
40 | @else 41 | 42 | @endif 43 |这是首页
44 | 45 | 46 | ``` 47 | 48 | 修改路由`route.php`,添加一条退出路由: 49 | 50 | ```php 51 | Route::get('logout', array('as' => 'logout', 'uses' => $Authority.'getLogout')); 52 | ``` 53 | 54 | 修改控制器`AuthorityController`,添加`getLogout`退出登录方法。 55 | 56 | ```php 57 | public function getLogout() 58 | { 59 | Auth::logout(); 60 | return Redirect::to('/'); 61 | } 62 | ``` 63 | 64 | 访问首页,在未登录状态下,会出现登录链接;在已登录状态下,会出现用户名和退出链接。 65 | 66 | ![login_status][2] 67 | 68 | ### 展示后台页面 69 | 70 | 登录页面我们套取完毕了,我们现在开始管理员登录之后的后台页面。 71 | 72 | 跟前面套登录页面很类似,我们需要制作后台页面对应的 `blade` 模版。具体对应代码可以查看我本项目源码。 73 | 74 | 大致说下后台模版页面结构,后台模版放置在`/app/view/admin`目录下。 75 | 76 | 在`/app/view/layout`目录下,会定义一个通用的后台`layout`,文件位置`/app/views/layout/backend.blade.php`,代码为: 77 | 78 | ```php 79 | @extends('layout.base') 80 | 81 | @section('title') 后台 - YASCMF @stop 82 | 83 | @section('head_css') 84 | 85 | 86 | {{-- 可以到此查看fontawesome图标字体:http://fontawesome.io/icons/ --}} 87 | @parent 88 | @stop 89 | 90 | @section('head_js') 91 | 92 | 93 | 94 | @parent 95 | @stop 96 | 97 | @section('body') 98 | 99 | @include('widgets.topHeadNav'){{-- 头部导航区域 --}} 100 | 101 | 102 |这是后台概要内容区域。
193 |