2014-03-31 7 views
23

Ich möchte eine findige Verbindung mit Laravel erstellen. Normalerweise verwende ich nur die {{ link_to_route('Yadayadayada.route', 'LinkName', $params }}Laravel 4 - Blade Templating - Wie man richtig mit der Route verlinkt?

Aber in diesem Fall habe ich eine Vorlage mit diesem Layout bin mit:

<a href="index.html"> 
    <i class="icon-dashboard"></i> 
    <span class="menu-text"> Dashboard </span> 
</a> 

Das bedeutet, dass innerhalb des Anker-Tag sowie ein <i> -Tag ist und ein <span> - Etikett. Ist es möglich, die {{ link_to_route }} -Methode zu verwenden, ohne das Layout des Templates ändern zu müssen?

Antwort

43

Verwenden URL::route() nur einen Link zu erhalten:

<a href="{{ URL::route('user/profile/', $params) }}"> 
    <i class="icon-dashboard"></i> 
    <span class="menu-text"> Dashboard </span> 
</a> 
+0

Vielen Dank für einen astoundingly schnelle Antwort. – LoveAndHappiness

+0

Wie kann ich die gleiche Technik für die Funktion zerstören? Ich versuchte href = "{{route ('shops.destroy', $ row-> id)}}" data-method = "löschen" aber ich leite mich stattdessen zu show() statt !!!! –

+1

@ Dr.MAF - 'href =" {{route ('shops.destroy', $ row-> id). '? _ Method = löschen'}} "' –

16

Wenn Sie Route, um eine Schließung verwenden, können Sie URL::to(), wie diese

<a href="{{ URL::to('home/otherpage', $params) }}"> 
    <i class="icon-dashboard"></i> 
    <span class="menu-text"> Dashboard </span> 
</a> 

Als @orrd sugested, im Allgemeinen verwenden ist besser Um die benannten Routen zu verwenden, können Sie die URL später einfach ändern:

(ref: https://laravel.com/docs/5.0/helpers#urls)

+1

Es ist besser, benannte Routen zu verwenden, wann immer dies möglich ist, anstatt die URL mehrfach in Ihrem Code zu wiederholen (so können Sie die URL später an einer Stelle einfach ändern, wenn Sie dies benötigen). – orrd

+1

@ orrd das ist richtig, ich habe die Antwort mit Ihnen suggestion aktualisiert –

6

wenn Sie Routennamen definieren können Sie das in Ihrer Klinge verwenden:

Route::get('/admin/transfer/forms-list', [ 
    'as' => 'transfer.formsList', 
    'uses' => 'Website\[email protected]' 
]); 

jetzt Sie, dass in Ihrer Klinge wie dies verwenden:

<a href="{{URL::route('transfer.formsList')}}" type="submit"> 
        discard</a> 
0

URL verwenden :: route(), um nur einen Link zu erhalten:

<a href="{{ URL::route('user/profile/', $params) }}"> 
    <i class="icon-dashboard"></i> 
    <span class="menu-text"> Dashboard </span> 
</a> 
0

Es gibt keine Möglichkeiten, Route in Blade zu verwenden:

1. Verwenden Sie Aktion

{{URL::action('[email protected]',$params)}} 

2. Verwenden Strecke

{{ URL::route('route/', $params) }} 

3. Verwenden URL

{{ URL::to('route/name', $params)) }} 
Verwandte Themen