css - Laravel Set tab active in foreach -
how set tab page class 'active' in dynamical created list?
i have link 'toon alle' show records, when ik click link display different view. active tab remains on first link.
<ul class="nav nav-pills sort-source" data-sort-id="portfolio" data-option-key="filter">     <li data-option-value="*" class="active">         <a href="#" ng-click="getallrequests(1)">toon alle</a>     </li>     @foreach ($categories $categorie)         <li data-option-value=".{{$categorie->namen}}" class="">             <a href="#" ng-click="getrequests({{$categorie->id}})"                data-id="{{$categorie->id}}">{{$categorie->namen}}             </a>         </li>     @endforeach </ul>      
you can using custom facade or html macro if using laravel 4. example assumes using named routes.
you can change route($route) route::getcurrentroute()->getpath()
for macro in laravel 4
/* |-------------------------------------------------------------------------- | active state html macro |-------------------------------------------------------------------------- | | tests route against current url active state | if true, returns 'active' class name | usage: html::activestate('named.route') | */     html::macro('activestate', function ($route,$arguments=null,$class='active')     {           return strpos(request::url(), route($route,$arguments)) !== false ? $class : '';     });   for facade(if don't know facade & how create 1 read here
facade accessor
use illuminate\support\facades\facade; class activestate extends facade {      protected static function getfacadeaccessor() { return 'activestate '; }  }   facade main class
namespace app\helpers;  class activestate {      public function activestate($route,$arguments=null,$class='active')     {       return strpos(request::url(), route($route,$arguments)) !== false ? $class : '';      }  }   facade service provider
app::bind('activestate ', function() {     return new app\helpers\activestate ; });   then add new provider/alias laravel configuration files.
inside views   <li class="{{activestate::activestate('route.name')}}">this li item</li> 
Comments
Post a Comment