Я надеюсь, что я написал это правильно, так как я помню, когда у вас есть опции массива в javascript, они называются объектными литералами. У меня проблема, я не могу найти, как использовать оператор @if в литерале объекта.
У меня небольшой сайт, и все находится внутри шаблона welcome.blade.php, поэтому у меня нет отдельного файла javascript, функция, которую я использую, находится внизу шаблона внутри тегов. Так вот вся функция, которая у меня есть
<script>
var employees = [
@foreach ($workers->chunk(20) as $chunk)
[
@foreach ($chunk as $worker)
{
innerHTML:'<div class="container-fluid full-height"><div class="row full-height"><div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 full-height"><div class="person-info"><blockquote><h1>{{ $worker->first_name }} {{ $worker->last_name }}</h1>{{{ $worker->function !== '') ? <footer>{{ $worker->function }}</footer> : '' }}}</blockquote></div></div><div class="col-xs-5 col-sm-5 col-md-5 col-lg-5 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 full-height"><div class="person-photo"><img class="img-responsive" src="thumbs/{{ $worker->image }}" /></div></div></div></div>',
src:"thumbs/{{ $worker->thumbnail }}"},
@endforeach
],
@endforeach
]
</script>
Как вы видите, мне нужно получить всю информацию от $workers
внутри innerHTML
и это должно быть выведено как HTML-контент, но так как некоторые поля будут пустыми в базе данных, поэтому мне нужно написать оператор @if, если эти поля не пусты для отображения некоторого кода
{{{ $worker->function !== '') ? '<footer>{{ $worker->function }}</footer>' : '' }}}
Но я не могу понять, как получить утверждение if внутри innerHTML
контент для работы.
РЕДАКТИРОВАТЬ: ближайший, что я получил это работает, как это:
'{{ $worker->function ? "<footer> $worker->function </footer>" : "" }}' +
Но это только делает вывод полностью с <footer>
так что теперь у меня как
Джон Доу <footer>
Менеджер по качеству </footer>
попробуй вот так
<script>
var employees = [
@foreach ($workers->chunk(20) as $chunk)
[
@foreach ($chunk as $worker)
{
innerHTML:'<div class="container-fluid full-height">'
+'<div class="row full-height">'
+'<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 full-height">'
+'<div class="person-info">'
+'<blockquote>'
+'<h1>' {{ $worker->first_name }} {{ $worker->last_name }} +'</h1>'
@if($worker->function != '')
+'<footer>' {{ $worker->function }} +'</footer>'
@endif
+'</blockquote>'
+'</div>'
+'</div>'
+'<div class="col-xs-5 col-sm-5 col-md-5 col-lg-5 col-lg-offset-1 col-md-offset-1 col-sm-offset-1 full-height">'
+'<div class="person-photo">'
+'<img class="img-responsive" src="thumbs/{{ $worker->image }}" />'
+'</div>'
+'</div>'
+'</div>'
+'</div>',
src:"thumbs/{{ $worker->thumbnail }}"},
@endforeach
],
@endforeach
]
</script>
Других решений пока нет …