Ich verwende Laravel 4. Ich möchte die aktuelle URL innerhalb einer @if
-Bedingung in einer Ansicht mit der Templates-Engine von Laravel's Blade aufrufen, weiß jedoch nicht, wie das geht.
Ich weiß, dass dies mit etwas wie <?php echo URL::current(); ?>
möglich ist, aber innerhalb einer @if
-Anweisung nicht möglich ist.
Irgendwelche Vorschläge?
Sie können: Request::url()
verwenden, um die aktuelle URL abzurufen. Hier ein Beispiel:
@if(Request::url() === 'your url here')
// code
@endif
Laravel bietet eine Methode, um herauszufinden, ob die URL einem Muster entspricht oder nicht
if (Request::is('admin/*'))
{
// code
}
Überprüfen Sie die zugehörige Dokumentation, um andere Anforderungsinformationen zu erhalten: http://laravel.com/docs/requests#request-information
Sie können auch Route::current()->getName()
verwenden, um den Routennamen zu überprüfen.
Beispiel: routes.php
Route::get('test', ['as'=>'testing', function() {
return View::make('test');
}]);
Aussicht:
@if(Route::current()->getName() == 'testing')
Hello This is testing
@endif
Vielleicht sollten Sie dies versuchen:
<li class="{{ Request::is('admin/dashboard') ? 'active' : '' }}">Dashboard</li>
Ich würde es so machen:
@if (Request::path() == '/view')
// code
@endif
dabei ist/view der Ansichtsname in der route.php.
Dies wird mir für Bootstrap-aktive Nav-Klasse in Laravel 5.2 geholfen:
<li class="{{ Request::path() == '/' ? 'active' : '' }}"><a href="/">Home</a></li>
<li class="{{ Request::path() == 'about' ? 'active' : '' }}"><a href="/about">About</a></li>
Um current url
in der blade
-Ansicht zu erhalten, können Sie folgendes verwenden,
<a href="{{url()->current()}}">Current Url</a>
So wie Sie mit folgendem Code vergleichen können,
@if (url()->current() == 'you url')
//stuff you want to perform
@endif
Ein bisschen alt, aber das funktioniert in L5:
<li class="{{ Request::is('mycategory/', '*') ? 'active' : ''}}">
Dies erfasst sowohl/mycategory als auch/mycategory/slug
Laravel 5.4
Globale Funktionen
@if (request()->is('/'))
<p>Is homepage</p>
@endif
Ich persönlich würde nicht versuchen, es in die Ansicht zu packen. Ich bin bei Laravel nicht verblüffend, aber ich würde mir vorstellen, Sie müssten Ihre Route an einen Controller senden und dann innerhalb des Controllers die Variable (über ein Array) mit etwas wie $url = Request::url();
in Ihre Ansicht übergeben.
Eine Möglichkeit, es trotzdem zu tun.
BEARBEITEN: Sehen Sie sich die Methode oben an, wahrscheinlich eine bessere Methode.
Eine einfache Navbar mit Bootstrap kann wie folgt ausgeführt werden:
<li class="{{ Request::is('user/profile')? 'active': '' }}">
<a href="{{ url('user/profile') }}">Profile </a>
</li>
Dafür gibt es zwei Möglichkeiten:
<li{!!(Request::is('your_url')) ? ' class="active"' : '' !!}>
oder
<li @if(Request::is('your_url'))class="active"@endif>
Der einfachste Weg ist die Verwendung von: Request::url();
Aber hier ist ein komplexer Weg:
URL::to('/').'/'.Route::getCurrentRoute()->getPath();
Stellen Sie diesen Code so ein, dass er automatisch für jeden <li>
+ gilt, den Sie zur Verwendung der HTMLBuilder
-Bibliothek in Ihrem Laravel-Projekt benötigen
<script type="text/javascript">
$(document).ready(function(){
$('.list-group a[href="/{{Request::path()}}"]').addClass('active');
});
</script>
Sie sollten dies versuchen:
<b class="{{ Request::is('admin/login') ? 'active' : '' }}">Login Account Details</b>
Eine andere Möglichkeit, wenn und in Laravel mit path zu schreiben
<p class="@if(Request::is('path/anotherPath/*')) className @else anotherClassName @endif" >
</p>
Ich hoffe es hilft
Sie können diesen Code verwenden, um die aktuelle URL abzurufen:
echo url()->current();
echo url()->full();
Das bekomme ich aus Laravel-Dokumenten.
@if(request()->path()=='/path/another_path/*')
@endif
anstatt URL :: path () zur Überprüfung Ihres aktuellen Pfadstandorts zu verwenden, sollten Sie Route :: currentRouteName () in Betracht ziehen. Wenn Sie Ihren Pfad aktualisieren, tun Sie dies nicht Sie müssen alle Ihre Seiten durchsuchen, um den Pfadnamen erneut zu aktualisieren.
Der einfachste Weg ist
<li class="{{ Request::is('contacts/*') ? 'active' : '' }}">Dashboard</li>
Dies könnte die Kontakte /, Kontakte/erstellen, Kontakte/bearbeiten ... erfassen.
class="nav-link {{ \Route::current()->getName() == 'panel' ? 'active' : ''}}"
Für benannte Routen verwende ich:
@if(url()->current() == route('routeName')) class="current" @endif
Versuche dies:
@if(collect(explode('/',\Illuminate\Http\Request::capture()->url()))->last() === 'yourURL')
<li class="pull-right"><a class="intermitente"><i class="glyphicon glyphicon-alert"></i></a></li>
@endif
Versuche dies:
<li class="{{ Request::is('Dashboard') ? 'active' : '' }}">
<a href="{{ url('/Dashboard') }}">
<i class="fa fa-dashboard"></i> <span>Dashboard</span>
</a>
</li>
Es gibt viele Möglichkeiten, einen zu erreichen, den ich immer benutze
Request::url()