2016-09-26 1 views
0

나는 기존 laravel 5 프로젝트에서 innovastudios contentbuilder.js (http://innovastudio.com/content-builder.aspx)를 통합하려고하고 있으며 일부 문제에 직면하고 있습니다. JS가 올바르게 작동하지만 내 공용 폴더에서 일부 사진이 누락되었습니다.Laravel Public Folder에있는 이미지

내 사이트의 구조는 다음과 같습니다 내부 여기 내가 contentbuilder.js 특히 조각 파일 (snippet.blde.php)을로드하고

edit.blade.php. snippets.blade.php가로드 공공/백엔드/contentBuilder/자산/

코드 : 이것은 모든 내가 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> 
:

내 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입니다

내가 내보기에 얻을 것은에 오류 : 그것은처럼 보이는 "http://localhost:8000/backend/flyers/10/%7B%7Basset ('백엔드/contentBuilder/자산/간단한/썸네일/theme1_thumb.png') %의 7D의 % (찾을 수 없음) 7D 404"

는 { {assets ('...')}}이 (가) 내 공용 폴더를 가리키고 있지 않습니다. 그 이유는 무엇입니까?

+0

이 JS 코드는 snippets.blade.php에 존재 위에서 언급 한 니펫, 당신의 자바 스크립트, 그래서

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

같은 경로를 추가? – GokulSrinivas

+0

'php artisan laroute : generate'를 실행 해보십시오 - 만약 당신이 라우트를 빌드 JS 루트 헬퍼에 사용한다면, 경로를 이동할 때마다 때때로 그것을 다시 생성해야합니다. – Carl

+0

@carl : "route : generate"명령이 정의되지 않았습니다. 이 중 하나를 의미 했습니까? 이벤트 : 생성 키 : 생성 경로 : 목록 경로 : 지우기 경로 : 캐시 – Mamulasa

답변

1

문제는 귀하가 제공 한 JS 코드 조각에 있다고 생각합니다. 에서 대신 asset() 도우미로 snippetFile을 정의

,

당신의 file.blade.php<head> 태그 내부의 시작 부분에이 코드를 추가합니다.

그래서, 블레이드는

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' 
      }); 
     }); 

은 또한, 나는 또 다른 작은 문제가있을 수 있습니다 생각이

<head> 
<script> var base_url = "{{asset('/')}}"; </script> 
... 
... your script file included here 
</head> 

처럼 그리고 당신의 JS 코드에서 찾습니다.

blade.php은 컨트롤러를 통해 view()을 통해 반환되지 않으면 처리되지 않습니다.

그래서, 그래서

function returnThumbnail(Request $request) { 
return view('snippet'); 
} 

snippet.blade.phpresources/views 폴더에 있는지 확인 같은 날을 처리하는 컨트롤러의 방법을 추가 할 수 있습니다.

그런 다음

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