2016-09-26 15 views
0

私は既存のlaravel 5プロジェクトにinnovastudios contentbuilder.js(http://innovastudio.com/content-builder.aspx)を統合しようとしており、いくつかの問題に直面しています。 JSは正常に動作していますが、私のパブリックフォルダからいくつかの画像が欠落しています。パブリックフォルダ内のLaravelイメージ

私のサイトの構造は次のとおりです。内部のここで私がcontentbuilder.js特にスニペットファイル(snippet.blde.php)をロードしています

edit.blade.php。 snippets.blade.phpをロードするための公開/バックエンド/ contentBuilder /資産/

コードは次のとおりです:これは私が&ドロップ

snippets.blade.phpファイルが内部に配置されているをドラッグするすべての要素が含まれています私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ある{{アセット( '')}} 画像をすべて参照した:

<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( 'バックエンド/ contentBuilder /資産/シンプル/サムネイル/ theme1_thumb.png')%の7Dの%7D 404(見つかりません)"

それは{のように見えます{assets( '...')}}が私のパブリックフォルダを指していません! 理由は何ですか?

+0

はJSコードですあなたはsnippets.blade.phpに存在上記のスニペット? – GokulSrinivas

+0

'php artisan laroute:generate'を実行してみてください - もしあなたがJSルートのビルダーをビルドする際にlaravelを使用しているなら、パスを移動するたびに再生成する必要があることがあります。 – Carl

+0

@carl: コマンド "route:generate"は定義されていません。 これらのいずれかを意味しましたか? イベント:生成 キー:生成 ルート:リスト ルート:クリア ルート:キャッシュ – Mamulasa

答えて

1

問題はあなたが提供した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.phpresources/viewsフォルダ内にあることを確認してくださいのようなブレードを処理して、コントローラのメソッドを追加します。

そして、そう

Route::get('/path/to/snippet', '[email protected]'); 

のようにルートを追加して、あなたのJavaScriptで、

jQuery(document).ready(function ($) { 
      $("#contentarea").contentbuilder(
       snippetFile: base_url + "path/to/snippet", 
       snippetOpen: true, 
       toolbar: 'left', 
       iconselect: 'assets/ionicons/selecticon.html' 
      }); 
+0

ありがとう、完璧! – Mamulasa

+0

喜んで助けてください! :) – GokulSrinivas

関連する問題