Laravel4でmeta情報を編集
複数コントローラーで同一viewを指定している場合に
オンコーディングだとmeta情報をhtml単位で変えたい時に困っちゃう…
CMSとかECサイトとかはSEOとかでmetaをこまめに書き換えたいことって多いですよね。
今回もそうです!!
そこでコントローラーからビューにパラメータを渡して実装しました。
controller.php
class IdeaListController extends BaseController {
public function getMeta($patent_id = 0)
{
// メタ情報取得
$titles = Config::get(‘ideaparams.title’);
$descriptions = Config::get(‘ideaparams.description’);
$keywords = Config::get(‘ideaparams.keyword’);
// メタ情報設定
$title = $titles[abs($patent_id)];
$description = $descriptions[abs($patent_id)];
$keyword = $keywords[abs($patent_id)];
return array(‘title’ => $title, ‘description’ => $description, ‘keyword’ => $keyword);
}
以下省略
view.blade.php
@extends(‘patent::layouts.default’)@section(“page_title”){{ $title }}@endsection
@section(“description”){{ $description }}@endsection
@section(“keywords”){{ $keyword }}@endsection
以下省略
params.php
// ページタイトル(特許No => ページイトル)
‘title’ => array(
‘0’ => ‘みんなのアイデア一覧’,
‘1’ => ‘素敵な技術:アイデア一覧’,
‘2’ => ‘ゆっくり再生技術:アイデア一覧’,
‘3’ => ‘ロボット:アイデア一覧’,
),
以下省略
実装できました。