2017-02-15 4 views
-1

Ich erstelle eine App in Laravel 5, mit einer Fußzeile, die viele Links mit Abschnitten haben wird. Die Idee ist, dass wenn ich auf einen Footer-Link eines Abschnitts klicke, er mich zu einer Template-Seite weiterleitet, wo auf der linken Seite alle Links in dieser Fußzeile sind, und auf der rechten Seite der Inhalt des Links I geklickt.Laravel 5 Footer So vermeiden Sie das Erstellen vieler Vorlagen

Zum Beispiel klicke ich auf Link A in der Fußzeile, und es zeigt alle Links von Abschnitt 1 (mit Link A unterstrichen) auf der linken Seite, und auf der rechten Seite zeigt es den Inhalt von Link A enter image description here

Grundsätzlich möchte ich wissen, ob es eine gute Möglichkeit gibt, dies zu tun, ohne 50 verschiedene Vorlagen zu erstellen (eine für jeden Link der Fußzeile).

+1

Zeigen Sie, was Sie bisher versucht haben.Es ist keine Website, wo Sie Ihr Projekt entwickeln.Scheinen Sie Ihren Code dann SO Coder versuchen, ein bestimmtes Problem zu lösen. –

+0

Das ist die Sache, die einzige Möglichkeit, die ich mir vorstellen kann, ist eine Vorlage für jeden der Fußzeilen Links zu erstellen. Das ist einfach, aber ich frage mich, ob es einen "besseren" Weg gibt, ohne 50 Vorlagen zu erstellen (eine für jede Fußzeile). –

+1

Sie können es mit partieller Klinge machen und dann können Sie den Inhalt in der Teilansicht dynamisieren. –

Antwort

3

Sie können es tun, indem mit nur drei Vorlagen:

main.blade.php:

<html> 
<body> 
@include('sidebar') 
.. 
@yield('content') 
.. 
@include('footer') 
</body> 
</html> 

sidebar.blade.php

<div class="sidebar"> 
@foreach($sidebar_links as $link) 
    // print $link 
@endforeach 
</div> 

footer.blade.php

<div class="footer"> 
<a href="{{ route('getMenu', 'section A') }}">Section A</a> 
<a href="{{ route('getMenu', 'section B') }}">Section B</a> 
</div> 

Steuerungsaktion:

public function getMenu($section) { 
    $sidebar_links = // Get sidebar links of the section which is clicked from the bottom links 
    return ('main', compact('sidebar_links')) 
} 

Hinweis: Ich habe dies nicht getestet, aber es sollte Ihnen die grundlegende Ansicht geben.

0

Sie können Request :: segment() verwenden, um den aktiven Link zu finden. Zum Beispiel die Verbindung von Link A =/link/a, dann können wir Request :: segment (2) == a sagen. Sie können das verwenden, um zu zeigen, was der aktive Link ist.

Verwandte Themen