我正在尝试获取每个页面的元数据 每个页面都有一个独特的子弹
在appServiceProvider
中,我有:
$view->with('seopage', Page::all());
在刀片视图中(剖面头),我有:
<title>
@foreach($seopage as $sm)
{{ $sm->main_title }}
@endforeach
</title>
<meta name="description" content="
@if(Request::is('/*'))
@foreach($seopage as $sp)
{{ $sp->site_description }}
@endforeach
@endif
">
但是现在我正在获得all titles
和descriptions
。如何获取指定页面的数据?
页面模型具有unique SLUG variable
。谢谢
答案 0 :(得分:2)
在appServiceProvider
中,您可以共享属于指定页面的页面:
$page = Page::where('slug', Request::path())->first();
View::share('seopage', $page);
在视图中,您可以检索共享变量:
<meta name="description" content="
@if(Request::is('/*') && isset($seopage))
{{ $seopage->site_description }}
@endif
">
答案 1 :(得分:0)
在页数表中必须具有唯一的uri列
您必须使用
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select multiple>
<option value="Category 1">Category 1</option>
<option value="Category 2">Category 2</option>
<option value="Category 3">Category 3</option>
<option value="Category 4">Category 4</option>
</select>
<div id="showSubcategory"></div>
在Blade中使用
use Illuminate\Support\Facades\Route;
.....
$uri = \Route::current()->uri;
$seopage = Page::where('uri', $uri)->first();
if ($seopage) {
$seo = sprintf(
'<title>%s</title>' . PHP_EOL
. '<meta name="description" content="%s>',
$seopage->main_title ,
$seopage->site_description
);
} else {
$seo = '';
}
$view->with('seo', $seo);