Voyager 的介紹
相信各位同好已經(jīng)玩過(guò)了赫模,沒(méi)有玩過(guò)可以先看過(guò)我的第一篇 Voyager 的介紹以及使用 (一)?增加自己的印象
這一篇是針對(duì)沒(méi)有玩過(guò)的人而寫(xiě)出來(lái),增加自己與旁人的印象眉抬,希望大家有個(gè)基礎(chǔ)吧,裏面的 DB 沒(méi)有用過(guò)很高級(jí)的技巧,希望看過(guò)的同好給予指教
Laravel 剛開(kāi)始的畫(huà)面
這是它原本的畫(huà)面芜飘,表示你的伺服器目前是運(yùn)作的很好,現(xiàn)在要針對(duì)它來(lái)進(jìn)行修改磨总,找到樣板之後的修改嗦明,所需要的時(shí)間大概 10~20 分鐘就可以了
先找個(gè)樣板來(lái)用
從 ColorLib 去找,有蠻多的免費(fèi)樣板蚪燕,只是要保留它的 footer 建立的文字就可以使用娶牌,現(xiàn)在都以免費(fèi)的爲(wèi)主
Stuff: https://colorlib.com/wp/template/stuff/
樣板有了,只是需要做大幅度的修改才行馆纳,畢竟只有 Blog
這是 Stuff 樣板原本的樣子
前臺(tái)開(kāi)始修改
一開(kāi)始看直接去看 routes/web.php
原本是這個(gè)樣子诗良,直接由 welcome 這個(gè) view 爲(wèi)主
Route::get('/', function(){
? ? return view('welcome');
});
我先用 php artisan 建立一個(gè) Controller
php artisan make:controller HomeController
再來(lái)開(kāi)啓 HomeController.php,在它的 class 底下建立如下
public function home(){
? ? return view('layouts.app');
}
先在 views 建立 layouts/app.blade.php
然後複製樣板的 index.html 進(jìn)去
這時(shí)候可以看到它的畫(huà)面厕诡,是跟 Stuff 的畫(huà)面一樣
修改程式以及樣板
修改樣板變成這樣累榜,把它的選單、文字以及大圖都拿掉
還有 css灵嫌、fonts壹罚、images、js寿羞、sass 這些都複製到 public 底下
還有 layouts/app.blade.php 樣板裏面猖凛,只要是載入 css 以及 js 的部分,全部改爲(wèi)載入 asset('載入的檔案')
就讓它單純只是 Blog
樣板的規(guī)劃
layouts/app.blade.php 是只要的樣板绪穆,其它都是依附它延伸出來(lái)的
詳細(xì)的看樣板如何做的
app.blade.php
blog/view.blade.php
layouts/app.blade.php
接著 Post 就有 5 篇文章辨泳,這 5 篇文章的內(nèi)容是取自 [假文產(chǎn)生器 MoreText](http://more.handlino.com/)
這些不是讓大眾閱讀虱岂,而是亂數(shù)假文產(chǎn)生器去產(chǎn)生的內(nèi)容,看排版的狀況
後端的 Post 的文章
修改 HomeController
把 HomeController 調(diào)整
use TCG\Voyager\Models\Post;
...
public function home(){
? ? $posts = Post::select('posts.*', 'categories.name', 'posts.id as post_id')
? ? ? ? ->join('categories', 'categories.id', '=', 'posts.category_id')
? ? ? ? ->where('posts.status', '=', 'PUBLISHED')->orderBy('posts.id', 'desc')->get();
? ? return view('app', ['posts' => $posts]);
}
他會(huì)出現(xiàn)如圖菠红,感覺(jué)有點(diǎn)樣子了
建立一個(gè) Blog 的 Controller 吧
直接輸入下方的指令
php artisan make:controller BlogController
這裏只是有個(gè)地方不一樣第岖,因爲(wèi)載入的資料只有一筆,所以會(huì)有不同的地方
public function home($id){
? ? $post = Post::join('categories', 'categories.id', '=', 'posts.category_id')
? ? ? ? ? ? ? ? ->where([['posts.status', 'PUBLISHED'], ['posts.id', $id]])->first();
? ? return view('blog.view', ['post' => $post]);
}
直接瀏覽器去測(cè)試试溯,可以看到 Post 的標(biāo)題蔑滓、內(nèi)容、圖檔遇绞、類(lèi)別键袱、日期等,看看是否列出來(lái)
然後 Developer Tools 可以列出來(lái) Facebook 以及 Twitter 只要屬於分享的部分摹闽,直接就可以列出來(lái)的方式
這樣就完成了蹄咖,如果還是不懂的話,可以參考我的 github