Laravel3 を WebMatrix3 で開発しロリポップで公開する no.6 【テンプレートの強化:便利なクラス達】

前回作ったテンプレート周りの補強をしていこうと思います。

まずは views/testtemplate.blade.php を変更しました。

<!DOCTYPE html>
<html lang=\"en\">
    <head>
        <meta charset=\"utf-8\" />
        <title>@if (isset($title))
{{ $title }}
@endif</title>
        @yield(\'css\')
 
        @yield(\'js\')
    </head>
    <body>
@yield(\'contents\')
     
    </body>
</html>

タイトル、CSS、JS の指定を可能にしました。 views/bladetest/viewtest.blade.php からそれらを指定するためにまず public/css 以下に teststyle.css を WebMatrix から新規で生成し、 public/js 以下に jQuery を公式ページからダウンロードし格納してください。

jQuery

今回は jquery-1.10.0.js を使用しました。これらのファイルを viewtest.blade.php から呼び出してみましょう。

@layout(\'testtemplate\')
 
@section(\'css\')
<link rel=\"stylesheet\" type=\"text/css\" href=\"{{asset(\'css/teststyle.css\')}}\">
@endsection
 
@section(\'js\')
<script src=\"{{asset(\'js/jquery-1.10.0.js\')}}\"></script>
@endsection
 
@section(\'contents\')
これは Larave3 のビュー設置テストです。
<br />
{{ date(\"Y:m:d H:i:s\") }}
@endsection

css や js のリンク指定で使っている asset() は、サイト内のアセッツが置いてある URL を出力してくれます。初期値は index.php が格納されてる場所までの Path が出力される。このブログで扱っている環境ならば、開発環境が「http://localhost:XXXXX/public/」が出力され、リモート環境では「http://laravel3.issuy.net/」が出力される。そこから引数で渡す文字列が連結されて出力される仕組みになっている。因みに asset() は URL::to_asset() のヘルパーとなっている。この URL クラスはその名の通り URL を解決する仕組みが詰まったクラスになっている。そして、この asset() が出力する規定の URL は、 config/application.php の asset_url で設定できる。

そして controllers/laravel3test.php は以下のように変更した。

<?php
 
class Laravel3test_Controller extends Base_Controller
{
    public function action_index()
    {
        echo \"これは Larave3 のコントローラ設置テストです。\";
        echo \"<br />\";
        echo date(\"Y:m:d H:i:s\");
    }
 
    public function action_viewtest()
    {
        return View::make(\'bladetest.viewtest\')->with(\'title\', \'TestTemplate\');
    }
}

タイトル設定用の引数を追加したところが今回の変更点だ。

それでは今回はここまで。

カテゴリー: Laravel3, Web, WebMatrix, ロリポップ タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です