拉拉维尔刀片简单,包括$loop>第一



我有一个显示四个文本字段输入的表单。当前的app()->getLocale()输入显示在左侧,下面的代码是显示在右侧的其余3个区域的代码:

@foreach(['ca','en','es','nl'] as $lang)
@if(app()->getLocale() == $lang) @continue @endif
<li>
<a href="#{{ $lang }}" class="@if($loop->first) active @endif"
</li>
@endforeach

这些都是隐藏的菜单选项卡,只有第一个应该显示为活动,因此:

@if($loop->first) active @endif

然而问题是,当当前区域设置为ca时,$loop->first()也将是ca。这个不能是活动的,因为它永远不会显示在右边。

我试图找到一个简单的修复没有太多的if else的东西。此外,对于来自config的一些数据,数组['ca','en','es','nl']将被更改,因此稍后将有更多的区域设置,ca将不总是第一个。所以我不能用@if(app()->getLocale() == 'ca')做检查,因为这在将来也会改变。

而不是:

['ca','en','es','nl']

:

array_diff(['ca','en','es','nl'], [app()->getLocale()])

并删除此:

@if(app()->getLocale() == $lang) @continue @endif

这将从数组中删除表示当前语言的项。

相关内容

  • 没有找到相关文章

最新更新