2015-04-26 3 views
3

Я хочу обменять с Bootstrap оповещения на оповещения Toastr. Мой текущий рабочий настройки является:Toastr использовать переменные сеанса Laravel в качестве предупреждающих сообщений

@if (Session::has('flash_notification.message')) 

    <div class="alert alert-{{ Session::get('flash_notification.level') }}"> 
     <button type="button" class="close" data-dismiss="alert" 
      aria-hidden="true">&times;</button> 
     {{ Session::get('flash_notification.message') }} 
    </div> 

@endif 

Но сейчас я изо всех сил на доступ к сеансовые переменные Laravel в пределах JS.

Фактический рабочий пример JS является:

$(document).ready(function() { 

    toastr.info('Page Loaded!'); 

    }); 

}); 

Но, я хочу использовать переменные сессии Laravel, чтобы включать в себя различные сообщения и предупреждающие коробки:

@if (Session::has('flash_notification.message')) 

    <script> 
     $(document).ready(function() { 

      toastr.options.timeOut = 4000; 
      toastr.{{ Session::get('flash_notification.level') }}('{{ Session::get('flash_notification.message) }}'); 

     }); 
    </script> 

@endif 

Я получаю различные ошибки, такие как unexpected ;. Любая помощь была бы чрезвычайно оценена. Большое спасибо.

ответ

2

Поскольку вы работаете в шаблоне с лезвиями, вы можете выводить содержимое переменной/функции с помощью {{ var/function() }}. Если вы хотите получить необработанный вывод, вы можете использовать {!! var/function() !!}.

Таким образом, решение вашей проблемы в том, что вам нужно, чтобы окружить код PHP с {{ }} тегами:

@if (Session::has('flash_notification.message')) 

    <script> 
     $(document).ready(function() { 

     toastr.{{ Session::get('flash_notification.level') }} 
     ('{{ Session::get('flash_notification.message') }}'); 

     }); 
    </script> 

@endif 
+0

Спасибо за ваш ответ. К сожалению, он возвращает ошибку «неожиданный», – Ben

+0

Не могли бы вы отправить стек? –

+0

Поскольку это в моем шаблоне.blade.php, сообщение об ошибке довольно плохое - 'FatalErrorException в 97a837778d688883db99bfdf8c10c794 строка 66: синтаксическая ошибка, неожиданная ';''. Строка 66: 'toastr. {{Session :: get ('flash_notification.level')}} ('{{Session :: get (' flash_notification.message)}} ');' – Ben

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