Hoe krijg ik de huidige URL binnen @if-statement (Blade) in Laravel 4?

Ik gebruik Laravel 4. Ik wil graag toegang krijgen tot de huidige URL in een @if-conditie in een weergave met behulp van de Laravel’s Blade-sjabloonengine, maar ik weet niet hoe ik dit moet doen.

Ik weet dat het kan worden gedaan met behulp van iets als <?php echo URL::current(); ?>maar het is niet mogelijk binnen een @ifblade-statement.

Heeft u suggesties?


Antwoord 1, autoriteit 100%

U kunt: Request::url()gebruiken om de huidige URL te verkrijgen, hier is een voorbeeld:

@if(Request::url() === 'your url here')
    // code
@endif

Laravel biedt een methode om erachter te komen of de URL overeenkomt met een patroon of niet

if (Request::is('admin/*'))
{
    // code
}

Controleer de gerelateerde documentatie om verschillende verzoekinformatie te verkrijgen: http://laravel.com/docs/ verzoeken#request-information


Antwoord 2, autoriteit 26%

Je kunt ook Route::current()->getName()gebruiken om je routenaam te controleren.

Voorbeeld: routes.php

Route::get('test', ['as'=>'testing', function() {
    return View::make('test');
}]);

Bekijken:

@if(Route::current()->getName() == 'testing')
    Hello This is testing
@endif

Antwoord 3, autoriteit 18%

Misschien moet je dit eens proberen:

<li class="{{ Request::is('admin/dashboard') ? 'active' : '' }}">Dashboard</li>

Antwoord 4, autoriteit 14%

Om de current urlin de blade-weergave te krijgen, kun je het volgende gebruiken,

<a href="{{url()->current()}}">Current Url</a>

Zoals je kunt vergelijken met de volgende code,

@if (url()->current() == 'you url')
    //stuff you want to perform
@endif

Antwoord 5, autoriteit 13%

Ik zou het zo doen:

@if (Request::path() == '/view')
    // code
@endif

waar ‘/view’ de naam van de weergave is in routes.php.


Antwoord 6, autoriteit 7%

Dit heeft mij geholpen voor de bootstrap active nav class in Laravel 5.2:

<li class="{{ Request::path() == '/' ? 'active' : '' }}"><a href="/">Home</a></li>
<li class="{{ Request::path() == 'about' ? 'active' : '' }}"><a href="/about">About</a></li>

Antwoord 7, autoriteit 5%

Een beetje oud, maar dit werkt in L5:

<li class="{{ Request::is('mycategory/', '*') ? 'active' : ''}}">

Hiermee wordt zowel /mycategory als /mycategory/slug vastgelegd


Antwoord 8, autoriteit 4%

Laravel 5.4

Globale functies

@if (request()->is('/'))
    <p>Is homepage</p>
@endif

Antwoord 9, autoriteit 4%

Persoonlijk zou ik niet proberen het in het zicht te krijgen. Ik ben niet geweldig in Laravel, maar ik kan me voorstellen dat je je route naar een controller moet sturen en vervolgens binnen de controller de variabele (via een array) in je weergave moet doorgeven, met zoiets als $url = Request::url();.

Eén manier om het toch te doen.

EDIT: Kijk eens naar de methode hierboven, waarschijnlijk een betere manier.


Antwoord 10, autoriteit 3%

U kunt deze code gebruiken om de huidige URL te krijgen:

echo url()->current();
echo url()->full();

Ik haal dit uit Laravel-documenten.


Antwoord 11, autoriteit 3%

Een eenvoudige navigatiebalk met bootstrap kan als volgt worden gedaan:

   <li class="{{ Request::is('user/profile')? 'active': '' }}">
        <a href="{{ url('user/profile') }}">Profile </a>
    </li>

Antwoord 12, autoriteit 3%

Voor mij werkt dit het beste:

class="{{url()->current() == route('dashboard') ? 'bg-gray-900 text-white' : 'text-gray-300'}}"

Antwoord 13, autoriteit 2%

De eenvoudigste manier is om: Request::url();

Maar hier is een complexe manier:

URL::to('/').'/'.Route::getCurrentRoute()->getPath();

Antwoord 14, autoriteit 2%

Er zijn twee manieren om dat te doen:

<li{!!(Request::is('your_url')) ? ' class="active"' : '' !!}>

of

<li @if(Request::is('your_url'))class="active"@endif>

Antwoord 15, autoriteit 2%

Je zou dit moeten proberen:

<b class="{{ Request::is('admin/login') ? 'active' : '' }}">Login Account Details</b>

Antwoord 16, autoriteit 2%

Je krijgt de urldoor de onderstaande code te gebruiken.

Bijvoorbeeld uw URL zoals https//www.example.com/testurl?test

echo url()->current();
Result : https//www.example.com/testurl
echo url()->full();
Result: https//www.example.com/testurl?test

Antwoord 17, autoriteit 2%

De eenvoudigste manier is

<li class="{{ Request::is('contacts/*') ? 'active' : '' }}">Dashboard</li>

Deze colud legt de contacten/, contacten/maken, contacten/bewerken vast…


Antwoord 18, autoriteit 2%

Stel deze code zo in dat deze automatisch wordt toegepast voor elke <li>+ die u nodig heeft om de HTMLBuilder-bibliotheek te gebruiken in uw Laravel-project

<script type="text/javascript">
    $(document).ready(function(){
        $('.list-group a[href="/{{Request::path()}}"]').addClass('active');
    });
</script>

Antwoord 19, autoriteit 2%

Voor benoemde routes gebruik ik:

@if(url()->current() == route('routeName')) class="current" @endif

Antwoord 20

In Blade-bestand

@if (Request::is('companies'))
   Companies name 
@endif

Antwoord 21

Een andere manier om als en anders in Laravel te schrijven met pad

<p class="@if(Request::is('path/anotherPath/*')) className @else anotherClassName @endif" >
 </p>

Hopelijk helpt het


Antwoord 22

in plaats van de URL::path()te gebruiken om uw huidige padlocatie te controleren, kunt u de Route::currentRouteName()overwegen, dus voor het geval dat u uw pad bijwerkt, hoeft u niet al uw pagina’s te verkennen om de padnaam opnieuw bij te werken.


Antwoord 23

class="nav-link {{ \Route::current()->getName() == 'panel' ? 'active' : ''}}"

Antwoord 24

@if(request()->path()=='/path/another_path/*')
@endif

Antwoord 25

Probeer dit:

@if(collect(explode('/',\Illuminate\Http\Request::capture()-> ;url()))->last() === 'uwURL') 

Other episodes