01ビューコンポーサー View composer
ブログタイトルやキーワードなどブログの基本的な項目を設定できるようにしてみました。ソースは GitHub にあります。
ausnichts/laravel4-blog · GitHub
テーブル settings の1つ目のレコードに保存するようにしています。
呼び出し方は、「Laravel4入門(11)」で使ったビューコンポーサーという方法でいけます。
app/composer.php
に以下を加え、
View::composer(‘*’, function($view) {
$view->with(‘settings’, Setting::find(1));
});
それぞれ view ファイルに
<meta name=”description” content=”{{ $settings->meta_description }}”>
<meta name=”keywords” content=”{{ $settings->meta_keywords }}”>
<title>{{ $settings->site_title }}</title>
などとします。
02ロケールの変更
せっかく言語ファイルを作りましたので、ロケールを変更できるようにしたのですが、ロケール変更時に
App::setLocale(‘ロケール’);
とすれば簡単に変更できるかと思いましたが、これではダメで、
app/start/global.php に、
App::setLocale(Setting::find(1)->language);
と書いておかないと変わらないですね。セッションを使う方法が以下にありました。
laravel – t can not switch language in Laravel4 – Stack Overflow
ただ、現状では、基本設定そのものがそうなんですが、デフォルトで settings の一番目のレコードにデータが入っていないとエラーになります。
03Movable Typeの読み込み
これは Laravel というよりも php の話になりますが、日本語のサンプルデータをどうするか考えている時に、この「@半径とことこ60分」のブログデータを読み込めないかと考え、Movable Type 形式のファイルを読み込む関数を作ってみました。
(参考)
Movable Type 4 ドキュメント
WordPress › Movable Type and TypePad Importer « WordPress Plugins
コメントや ping など現状では取り込めないデータは全て破棄しています。
また、カテゴリは該当するものがない場合は自動登録し、カテゴリが設定されていないものは uncategorized を作成するようにしました。
ということでこんな感じにできあがりました。