[英]Laravel Images in Public Folder
我正在嘗試將innovastudios contentbuilder.js( http://innovastudio.com/content-builder.aspx )集成到我現有的laravel 5項目中,並且遇到了一些問題。 JS工作正常,但是我的公用文件夾中缺少一些圖片。
我的網站結構是:
在這里的edit.blade.php文件中,我正在加載contentbuilder.js文件,尤其是一個片段文件(snippet.blde.php)。 這包含我要拖放的所有元素
snippets.blade.php文件位於內部:public / backend / contentBuilder / assets /
加載snippets.blade.php的代碼是:
jQuery(document).ready(function ($) {
$("#contentarea").contentbuilder({
//snippetFile: 'assets/minimalist-basic/snippets.html',
snippetFile: "{{asset('backend/contentBuilder/assets/simple/snippets.blade.php')}}",
snippetOpen: true,
toolbar: 'left',
iconselect: 'assets/ionicons/selecticon.html'
});
});
在我的snippets.blade.php中,我使用{{asset('')}}引用了所有圖像,這是我的snippets.blade.php:
<div data-thumb="{{asset('backend/contentBuilder/assets/simple/thumbnails/theme1_thumb.png')}}">
<div class="container">
<div class="row" style="height: 900px; width: 635px; overflow: hidden; margin: auto;">
<img class="img-noscale" src='{{asset('backend/contentBuilder/assets/simple/images/6.jpg')}}' style="height: 100%; width: 100%; position: relative;" />
</div>
</div>
</div>
我認為錯誤是:“ http:// localhost:8000 / backend / flyers / 10 /%7B%7Basset ('backend / contentBuilder / assets / simple / thumbnails / theme1_thumb.png')%7D% 7D 404(未找到)”
看來{{assets('...')}}沒有指向我的公用文件夾! 知道為什么嗎?
我認為問題出在您提供的JS代碼段中。
而不是使用asset()
幫助器定義snippetFile,
在您的file.blade.php
將此代碼段添加到<head>
標記的開頭。
因此,您的刀片看起來像這樣
<head>
<script> var base_url = "{{asset('/')}}"; </script>
...
... your script file included here
</head>
然后在您的JS代碼中
jQuery(document).ready(function ($) {
$("#contentarea").contentbuilder({
//snippetFile: 'assets/minimalist-basic/snippets.html',
snippetFile: base_url + "backend/contentBuilder/assets/simple/snippets.blade.php",
snippetOpen: true,
toolbar: 'left',
iconselect: 'assets/ionicons/selecticon.html'
});
});
另外,我認為可能還有另一個小問題。
如果未通過控制器通過view()
返回blade.php
則不會對其進行處理。
因此,在您的控制器中添加一個方法來像這樣處理刀片
function returnThumbnail(Request $request) {
return view('snippet');
}
確保snippet.blade.php
位於resources/views
文件夾中。
然后像這樣添加一條路線
Route::get('/path/to/snippet', 'YourController@returnThumbnail');
而且,在您的Javascript中,
jQuery(document).ready(function ($) {
$("#contentarea").contentbuilder(
snippetFile: base_url + "path/to/snippet",
snippetOpen: true,
toolbar: 'left',
iconselect: 'assets/ionicons/selecticon.html'
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.