我有一个显示四个文本字段输入的表单。当前的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
这将从数组中删除表示当前语言的项。