■背景
パスワードリセットの画面を実装したいと考え、bladeを使って実装しています。
①bladeテンプレート
まず、laravelのbladeを使いmaster.blade.php(views/layouts/index.blade.php)というテンプレートを作成しました。
このmaster.blade.phpの中に、以下のように画像を表示するタグを書いています
HTML
<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
Route::get('/', 'HomeController@index');
email.blade.phpを表示する際は、
PHP
Route::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()}}を使おうとするとそんなクラスはないよ、と言われてしまいます。
どうかお知恵をお貸し頂けますと幸いです。
宜しくお願い致します。
まだ回答がついていません
会員登録して回答してみよう