2016-09-26 3 views
0

Я пытаюсь интегрировать innovastudios contentbuilder.js (http://innovastudio.com/content-builder.aspx) в свой существующий проект laravel 5 и сталкиваться с некоторыми проблемами. JS работает правильно, но мне не хватает некоторых фотографий из моей общей папки.Laravel Изображения в общей папке

моя структура сайта является:

edit.blade.php внутри здесь я загружая contentbuilder.js особенно фрагменты файлов (snippet.blde.php). Это содержит все элементы, которые я хочу, чтобы перетащить & DROP

Файл snippets.blade.php находится внутри: общественные/бэкэнд/contentBuilder/активы/

Код, чтобы загрузить 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 я ссылаться все изображения {{актив ('')}} Это мой 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' - если вы используете larvel в встроенных помощниках маршрутизации JS, вам иногда нужно регенерировать его всякий раз, когда вы перемещаете пути. – Carl

+0

@carl: Команда "route: generate" не определена. Вы имели в виду один из них? Событие: сгенерируйте ключ: сгенерируйте route: list route: clear route: cache – Mamulasa

ответ

1

Я думаю, что проблема заключается в фрагменте кода JS, который вы предоставили.

Вместо определения snippetFile с asset() помощника,

В вашей 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' 
      }); 
     }); 

Кроме того, я думаю, что может быть еще одна небольшая проблема.

blade.php не обрабатывается, если он не возвращается через view() через контроллер.

Итак, добавить метод в контроллере, который обрабатывает лезвие как так

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

Убедитесь, что snippet.blade.php находится в папке resources/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

Смежные вопросы