我如何使用php / blade更改div类

时间:2018-06-11 11:35:01

标签: php laravel-blade

我第一次使用刀片,我需要根据可用的属性数量更改此div元素的样式。我需要编写一个if语句,如果等于或小于1则隐藏div,如果等于2则添加不同的类。

我怎么用刀片或php写这个?

@if (isset($participatingProperties) && !empty($participatingProperties) && is_array($participatingProperties))
    <?php $i = 0; ?>
    @foreach ($participatingProperties as $key => $property)
        @if ($i++ % 3 === 0)
        <div class="item item2 {{ $i < 3 ? 'active' : '' }}">
        @endif

1 个答案:

答案 0 :(得分:0)

我的理解是:
你有一个$participatingProperties数组和一个div来打印 当它有0或1个元素时,没有任何反应 当它有2个元素时,div会以特定的样式打印 当它有3个或更多元素时,div会以另一种风格打印 (超过3个元素没有规则)。

我会通过count保持简单:

@php($count = count($participatingProperties))
@if ($count > 1)
    <div
        class="{!! ($count == 2) ? 'class-2' : 'class-3-or-more' !!}"
    >
        div content
    </div>
@endif

如果您不需要每种金额的特定风格,那就更简单了:

@if (count($participatingProperties) > 1)
    <div class="myclass">
        div content
    </div>
@endif

同时使用emptyissetredundant。我认为你不应该检查$participatingProperties是否是一个数组,而是确保它总是在你的后端。如果您至少返回一个空数组,count将返回0