2017-04-23 15 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 클래스가 있어야하고 나머지 단계는가 있어야합니다.클래스.

제품 정보에있을 때 기본 정보 단계에는 어떤 클래스도없고 제품 정보 단계에는 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

같은 별칭을 등록하고 다음처럼 사용할 수 있습니다 : 여기

내가 하나의 응용 프로그램에서 사용하고 무엇

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