Laravel4.2 IF语言环境声明

时间:2014-11-27 13:19:16

标签: laravel localization locale

我有一个问题,我正在开发一个多语言网站,并努力为每个lang显示数据。我可以编写一个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中有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

你可以这样做:

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

App::getLocale()将返回区域设置(在您的情况下&#39; lv&#39;,&#39; en&#39;等)。

因此,您可以基于它构建动态变量名称,并将其用于foreach循环。

小心