2014-09-01 3 views
1

Я работаю над приложением Laravel-4, и я использую javascript templates для рендеринга элементов на определенной странице. Ниже мой шаблон для моих слайдов элементовВывести переменную Laravel в шаблон javascript

<script type="t/template" id="bookItem"> 
     <div class="resource-wrap" data-resource="@{{=type}}"> 
      <div class="resource @{{=type}}"> 
       @{{id}} 
       <div class="image"> 
       @foreach($slideshow->find($slideshow->id)->slides()->take(1)->get() as $slide) 
        <img width="100%" height="100%" src="/img/slideshows/{{$slide->link}}"/> 
       @endforeach 
       </div> 
       @{{/id}} 
       <ul class="info"> 
        <li class="title"><a href="#">@{{=id}}@{{=title}}@{{=name}}</a></li> 
        <li><a href="#">@{{=desc}}</a></li> 
       </ul> 
       <a class="ov [email protected]{{=type}}" href="#"></a> 
      </div> 
     </div> 
</script> 

Он делает хорошо на странице и все работает правильно, за исключением одного. Эта строка:

@foreach($slideshow->find($slideshow->id)->slides()->take(1)->get() as $slide) 

Я пытаюсь передать идентификатор текущего элемента, но, похоже, не может этого сделать. Я могу здесь:

<li class="title"><a href="#">@{{=id}}@{{=title}}@{{=name}}</a></li> 

Но когда я использую @{{=id}} в моем цикле я получаю сообщение об ошибке. Мне интересно, как я могу напечатать эту переменную в цикле?

+1

строка '$ slideshow-> найти ($ slideshow-> id) 'не имеет большого смысла. Если вы можете сделать' $ slideshow-> id', вам не нужно '-> find()', предполагая, что мы говорим о модели Eloquent здесь. – JofryHS

+0

Также строка '@foreach ($ slideshow-> find ($ slideshow-> id) -> slides() -> take (1) -> get() как $ slide)' не имеет большого смысла, если вы возьмите только один предмет, какой смысл делает '@ foreach'? – Adrenaxus

ответ

0

Я стараюсь избегать запросов в представлении и запросе внутри контроллера, передавая коллекцию в представление - делает его более чистым в представлении. Держите вид отдельно как можно больше

Так предполагается, что вы прошли переменную $slideshow, которая вашей коллекции вы можете затем сделать:

  <div class="image"> 
      @foreach($slideshow AS $slide) 
       <img width="100%" height="100%" src="/img/slideshows/{{$slide->link}}"/> 
      @endforeach 
      </div> 

Я не ясно, какое значение $ идентификатор относится к в вашем вопросе , Это идентификатор слайда? если после этого до тех пор, как он содержится в цикле вы можете получить, что на $> ид слайд-

Если предположение неправильно, то вы можете подтвердить, что идентификатор относится к

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