【发布时间】:2016-06-03 02:26:24
【问题描述】:
我是 laravel 的新手,我在 laravel 5.2 中做一个研究项目。我创建了一个 Web 模板、各种页面并给出了它们的路线,创建了显示网页所需的相应控制器和模型。每个网页上的数据都是从数据库中获取的。到这部分为止,它工作正常。现在网站中的徽标和一些标题信息被硬编码在 header.blade.php 中,我存储在 view/includes 文件夹中,并通过 default.blade.php 从 view/layouts 文件夹中调用它并获取每个文件的数据页面为@extends('layouts.default')。我还想从数据库中获取该标头数据,并且它必须显示在所有网页上。
下面给出的是我的 header.blade.php 文件代码:
<div class="top">
<div class="zerogrid" align="center" style="padding-bottom:2px; padding-top:2px;">
<ul class="number f-left">
<li class="mail"><p><a href="mailto:email-comes-from-db-here"><font color="#FFFFFF">email-number-comes-from-db-here</font></a></p></li>
<li class="phone"><p><a href="tel:phone-number-comes-from-db-here"><font color="#FFFFFF">phone-number-comes-from-db-here</font></a></p></li>
</ul>
<ul class="top-social f-right" style="padding-bottom:5px;">
<li><a href="https://facebook.com/page-name-comes-from-db-here" target="_blank"><i class="fa fa-facebook"></i></a></li>
<li><a href="https://plus.google.com/page-name-comes-from-db-here" target="_blank"><i class="fa fa-google-plus"></i></a></li>
<li><a href="https://twitter.com/page-name-comes-from-db-here" target="_blank"><i class="fa fa-twitter"></i></a></li>
<li><a href="https://linkedin.com/page-name-comes-from-db-here" target="_blank"><i class="fa fa-linkedin"></i></a></li>
<li><a href="https://youtube.com/page-name-comes-from-db-here" target="_blank"><i class="fa fa-youtube"></i></a></li>
<li><a href="http://website-name-comes-from-db-here" target="_blank"><i class="fa fa-globe"></i></a></li>
</ul>
</div>
</div>
<div class="zerogrid">
<center><div class="logo"><img src="{{ asset('assets/images/logo-image-name-comes-from-db-here') }}"></div></center>
</div>
<div class="site-title">
<div class="zerogrid">
<div class="row">
<h2 class="t-center">Slogan comes from db here</h2>
</div>
</div>
</div>
下面是我的路由文件代码(routes.php):
Route::get('/', 'GuestController@home');
Route::get('aboutus', 'GuestController@aboutus');
Route::get('services', 'GuestController@services');
下面给出的是我的控制器文件代码(GuestController.php):
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
class GuestController extends Controller
{
public function home() {
return view('guest.home');
}
public function aboutus() {
$result=DB::table('contents')->where('menuname','aboutus')->get();
return view('guest.aboutus')->with('data',$result);
}
public function services() {
$result=DB::table('contents')->where('menuname','services')->get();
return view('guest.services')->with('data',$result);
}
}
为了在单个网页上显示 db 表中的每个网页数据,已经通过路由完成。但是要将相同的标头数据从 db 显示到我的所有页面,我必须在路由/控制器文件中进行哪些修改?请帮忙。提前谢谢...
【问题讨论】:
-
您是如何将标头数据存储在数据库中的?
-
仅在一个名为“标题”的表中以及诸如电子邮件、电话、facebook、google、twitter、youtube、网站、徽标、标语等字段中
-
你应该提供更多关于你的数据库表结构的信息,当你查询表以获取你想要的数据时,实际上告诉你从表中得到了什么。
-
facebook、google等这些字段包含什么,你保存了链接吗?
-
是的。示例数据将类似于 email->abc@gmail.com, phone->+123456789, facebook->facebook.com/abc, twitter->twitter.com/abc,... logo->logo.png, slogan->some text这里..
标签: php mysql laravel layout laravel-5.2