2014-11-27 5 views
0

У меня есть один вопрос, я разрабатываю сайт с несколькими языками и борюсь с отображением данных для каждого языка. Могу ли я написать IF заявление, в котором он определяет текущую локаль, например:Laravel4.2 IF локальное заявление

@if('locale' = 'lv') 
    @foreach($slides_lv as $slide) 
     <img src="{{ $slide->path }}"> 
    @endforeach 
@endif 
@if('locale' = 'en') 
    @foreach($slides_en as $slide) 
     <img src="{{ $slide->path }}"> 
    @endforeach 
@endif 
@if('locale' = 'ru') 
    @foreach($slides_ru as $slide) 
     <img src="{{ $slide->path }}"> 
    @endforeach 
@endif 

Или есть какой-то лучший способ сделать это в Laravel?

ответ

0

Вы можете сделать это следующим образом:

<?php 
    $varName = 'slides_' . App::getLocale(); 
?> 
@foreach ($$varName as $slide) 
    <img src="{{ $slide->path }}"> 
@endforeach 

App::getLocale() возвратит локали (в вашем случае 'лев', 'ан' и т.д.).

Таким образом, вы строите имя динамической переменной на основе этого и используете его для вашего цикла foreach.

Позаботьтесь о здоровье

+0

Спасибо, @MaGnetas! – ewing1990