2019-06-14 Voyager 的介紹以及使用 (二) Blog 管理

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)


然後 Developer Tools 可以列出來(lái) Facebook 以及 Twitter 只要屬於分享的部分,直接就可以列出來(lái)的方式


這樣就完成了,如果還是不懂的話,可以參考我的 github

GitHub zivhsiao/laravel-blog

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容