2017-04-23 37 views
0

私は4つのステップを持っています。各ステップのURLがある -Laravelセグメントメソッドを使用してアクティブなクラスを動的に配置する(動作していない)

基本情報localhost/project/public/user/sell/basic-info
製品情報localhost/project/public/user/sell/5/product-info
写真localhost/project/public/user/sell/5/photos
価格情報localhost/project/public/user/sell/5/price-info

私がしたいです、私は基本情報にあるので、基本情報ステップはactiveクラスでなければならず、残りのステップはdisabledクラス。

私が製品情報にあるとき、基本情報ステップにはクラスがなく、製品情報ステップにはactiveクラスが残り、それ以降のステップの残りの部分にはdisabledクラスがあります。

以下は画像です。

<div class="ui mini top four attached steps"> 
    <div class="{{ Request::segment(3) === 'basic-info' ? 'active' : '' }} step"> 
     <i class="info circle icon"></i> 
     <div class="content"> 
      <div class="title">Basic Info</div> 
      <div class="description">Enter the basic information.</div> 
     </div> 
    </div> 
    <div class="{{ Request::segment(4) === 'product-info' ? 'active' : Request::segment(3) === 'basic-info' ? 'disabled' : '' }} step"> 
     <i class="help circle icon"></i> 
     <div class="content"> 
      <div class="title">Product Info</div> 
      <div class="description">Enter your product details.</div> 
     </div> 
    </div> 
    <div class="{{ Request::segment(4) === 'photos' ? 'active' : Request::segment(3) === 'basic-info' ? 'disabled' : Request::segment(4) === 'basic-info' ? 'disabled' : '' }} step"> 
     <i class="image icon"></i> 
     <div class="content"> 
      <div class="title">Photos</div> 
      <div class="description">Upload the photos of product.</div> 
     </div> 
    </div> 
    <div class="{{ Request::segment(4) === 'price-info' ? 'active' : Request::segment(3) === 'basic-info' ? 'disabled' : Request::segment(4) === 'basic-info' ? 'disabled' : Request::segment(4) === 'basic-info' ? 'disabled' : '' }} step"> 
     <i class="rupee icon"></i> 
     <div class="content"> 
      <div class="title">Price</div> 
      <div class="description">Enter the price</div> 
     </div> 
    </div> 
</div> 

答えて

0

私はこの問題のためのヘルパー関数を作成することをお勧め -

enter image description here

は、ここに私のコードです。

<?php 

namespace App\Helpers; 
use Route; 

class Helper 
{ 

    /* 
    |-------------------------------------------------------------------------- 
    | Detect Active Route 
    |-------------------------------------------------------------------------- 
    | 
    | Compare given route with current route and return output if they match. 
    | Very useful for navigation, marking if the link is active. 
    | 
    */ 
    public static function isActiveRoute($route, $output = "active") 
    { 
     if (Route::currentRouteName() == $route) return $output; 
    } 
} 

config\app.php内のクラスとHelper

'Helper' => App\Helpers\Helper::class, //my custom functions

のようなエイリアスを登録して、あなたはそれが好きで使用することができます:ここで

は私が1つのアプリで使用しているものです

class="{{ Helper::isActiveRoute('route.name') }}"

関連する問題