Sto cercando di rendere attivo un menu a seconda del path in laravel 4.1, il mio tentativo:
<li {{{ (Request::is('/core') ? 'class="active"' : '') }}}><a href="{{{ URL::to('/core') }}}">Control Panel</a> </li>
Il mio path:
Route::get('/core', '[email protected]');
Questo non sta commettendo errori semplicemente semplicemente ignorati. each aiuto è apprezzato.
In Laravel 4.2:
Per nome:
<li class="{{ Route::is('user') ? 'active' : ''}}">Profile</li>
router.php
Route::get('/user/{id}', ['as' => 'user', 'uses' => '[email protected]']);
Per url:
<li class="{{ Request::is('user/*') ? 'active' : '' }}">Profile</li>
cambiato in:
<li {{{ (Request::is('/core') ? 'class=active' : '') }}}><a href="{{{ URL::to('/core') }}}">Control Panel</a> </li>
da 'class="active"'
a 'class=active'
Questa multa funzionante per il tag <li>
ma non <a>
, deve essere utilizzata in questo modo:
<a href="{{{ URL::to('core') }}}" class="list-group-item {{{ (Request::is('core') ? 'active' : '') }}}">Overview</a>
puoi fare come ha detto Ahmed Siouani e usare Request se usi un vero URL o se usi un path puoi fare qualcosa del genere:
class="{{ URL::route('my.route') === URL::current() ? 'active' : '' }}"
Stai usando la syntax della tripla parentesi {{{ }}}
, che sta causando l'output automatica di qualsiasi output in entity framework; HTML. Questo è un problema con il tuo output (gli attributi HTML non dovrebbero essere sfuggiti).
Utilizzare le triple parentesi quando si generano dati generati dall'utente o in altri casi in cui non si controlla e non si può fare affidamento sulla sicurezza al 100%. Se stai visualizzando URL, classi e altri elementi che stai generando, utilizza la syntax echo standard {{ }}
Aggiornamento per Laravel 5: la syntax di Blade non scartata, non formattata , è ora {!! !!}
{!! !!}
. Di default, Laravel 5 sfugge sia alle strutture doppie doppie che a quelle triple.