■背景
パスワードリセットの画面を実装したいと考え、bladeを使って実装しています。
①bladeテンプレート
まず、laravelのbladeを使いmaster.blade.php(views/layouts/index.blade.php)というテンプレートを作成しました。
このmaster.blade.phpの中に、以下のように画像を表示するタグを書いています
HTML
1<img class="logo" src="image/logo.jpg" alt="logo">
このmaster.blade.phpを、
・index.blade.php(views/index.blade.php)
・email.blade.php(views/auth/password/email.blade.php)
で読み込んでいます。
②image
画像ファイルは以下に格納しています
public/image/logo.jpg
(ルートディレクトリはpublicです)
③route
index.blade.phpを表示する際は、
PHP
1Route::get('/', 'HomeController@index');
email.blade.phpを表示する際は、
PHP
1Route::get('password/email', 'Auth\PasswordController@getEmail');
です。
■症状
index.blade.phpを表示する際はlogo.jpgがちゃんと表示されるのですが、email.blade.phpを表示する際はlogo.jpgがちゃんと表示されません。
それぞれ画像のURLを見てみると、以下のようになっています。
①index.blade.phpの場合・・/image/logo.jpg
②email.blade.phpの場合・・/password/image/logo.jpg
画像が格納されているフォルダが/image/logoなので②の場合は表示されていないのだと思うのですが、これはどのように解消すればいいのでしょうか。
ちなみに、検索して{{HTML::image()}}を使う方法等が出てきたのですが、laravel5.2あたりからHTMLが削除されたみたいな話もあり、実際に{{HTML::image()}}を使おうとするとそんなクラスはないよ、と言われてしまいます。
どうかお知恵をお貸し頂けますと幸いです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/28 11:19
2016/09/28 11:28
2016/09/28 12:05
2016/09/28 12:11
2016/09/28 14:00