Laravel Navigation Anfänger Tutorial #02
Dieses Tutorial ist für Laravel 5 konzipiert.
Aktuelle Tutorials findest du auf meiner neuen Laravel Tutorial Seite.
In diesem Teil des Laravel Tutorials geht es um die Laravel Navigation bzw. wie man diese umsetzt. Ich möchte dir zeigen wie du eine dynamische Navigation in Laravel integrieren kannst. Dabei nehmen wir im ersten Schritt die Daten für die Navigation aus der Laravel Config und in einem späteren Tutorial nutzen wir die Datenbank für die Erstellung der Navigation.
In meinem Laravel Anfänger Tutorial zum mitmachen für dich haben wir Twitter Bootstrap als HTML/CSS Framework in Laravel integriert und die Navigation mit @include in das Layout eingebunden. Du kannst dir das Tutorial gerne vorher anschauen. Dazu musst du allerdings etwas mehr Zeit aufwenden.
Laravel Navigation mit Twitter Bootstrap
Ok, dann legen wir mal los.
Ich gehe davon aus, dass du eine Layout Datei hast und dort mit @yield('content')
der Inhalt aus deiner View rein gerendert wird. Dazu hast du wahrscheinlich im Moment deine Navigation noch komplett in der Layout Datei. Das sollten wir jetzt ändern, indem wir die Stelle mit dem Menü durch @include('navigation')
austauschen.
Wenn du Twitter Bootstrap bereits benutzt, dann sollte das Codeschnipsel an dieser Stelle so
aussehen. Falls du eigenen Code benutzt oder ein anders HTML / CSS Framework, dann sieht dein Code zumindest ähnlich aus.
Wir müssen jetzt die navigation.blade.php in /resources/views anlegen und dort den Inhalt einfügen, den wir aus dem Layout genommen haben. Ich zeige dir hier mal die navigation.php mit Twitter Bootstrap Code
Auch hier kann sich dein Navigation Html leicht von meinem Dummy unterscheiden. Mit ein wenig Phantasie sollte es aber kompatible sein.
Jetzt haben wir eigentlich noch nicht viel gemacht. Nur Code aus der Layout Datei in eine andere Datei ausgelagert.
Also beginnen wir jetzt mit der Konfiguration der Navigation. Dazu nehme ich mein Beispiel mit den drei Navigationspunkten Startseite, Kontakt und Impressum. Nicht sehr viel, aber es geht hier auch nur um die grundsätzliche Vorgehensweise.
Unter /config legst du dazu eine navigation.php an. Dort fügst du diesen Code
'home',
'title' => 'Startseite',
'url' => '/'
),
array(
'name' => 'kontakt',
'title' => 'Kontakt',
'url' => '/kontakt'
),
array(
'name' => 'impressum',
'title' => 'Impressum',
'url' => '/impressum'
)
);
ein. Damit habe ich jetzt die drei Menüpunkte in meiner Laravel Configuration und kann mit Config::get('navigation')
darauf zugreifen.
In der /resources/views/navigation.blade.php änderst du den Code jetzt dahingehend, dass nicht mehr statisches Html für die Navigation verwendet wird, sondern die Konfiguration. Hier der Code dazu
Der Code ist eigentlich fast selbsterklärend. Trotzdem ein paar Worte dazu. Per foreach Schleife gehen wir über die einzelnen Konfigurationseinträge und erzeugen daraus die Menüpunkte.
Wenn du über das Laravel Anfänger Tutorial kommst, dann kannst du jetzt per Reload das Ergebnis überprüfen.
Damit sind wir auch schon am Ende des Laravel Navigation Tutorials.
Ich hoffe es hat dir Spaß gemacht und hat dich ein kleines Stück weitergebracht. Mir hast es auf jeden Fall Spaß gemacht und weitergeholfen. Ich bin wieder einen Schritt weiter das Laravel Framework kennenzulernen.
Wenn du diesen Artikel nützlich findest, dann würde ich mich freuen wenn du ihn teilen würdest. Hast du Fragen, Anregungen, Kritik oder Lob? Dann hinterlasse einfach einen Kommentar.
Vielen Dank und viel Spaß mit Laravel 4.
Hallo Dirk,
Wie schon viele Vorschreiber kommentiert haben. Einfach großes Danke für das Tutorial. Respekt vor dieser Leistung und deinem Engagement.
Ich bin ein ziemlicher „Newbie“ – wie man heutzutage sagt – (also ein blutiger Anfänger) nicht nur PHP sondern auch Linux, CSS, HTML und Apache und der IDE Eclipse. Beschäftige mich aber seit 2 Monate sehr intensiv mit der Entwicklung von Web-Apps.
Nachdem für mein Projekt zum „promoten“ (also bewerben) im Internet via TYPO3 laufen wird (auch da ein Newbie) habe ich ein Framework zum Entwickeln einer „einfacheren Webapp“ gesucht. Zend Framework 2 war mir zu „mächtig“. Dann fand ich Lavarel. Lavarel kommt mir – irgendwie – sympathisch rüber.
Nachdem ich es geschafft habe innerhalb eines Monats selbst einen Server (ein Ersatzrechner) aufzusetzen über Ubuntu 14.04 und dann zusätzlich den Raspberry2 als Server inkl. Entwicklungsumgebung aufgesetzt hatte, hatte ich mich mal mit dem oben genannten CMS auseinandergesetzt. Das läuft zumindest lokal super stabil mit Bootstrap und einer eigens entwickelten Extension.
Nach einem Crashkurs für OOP (allgemein), MVC und überblicksmäßig DD als Grundgerüst für das „programmieren“ in PHP bin ich nun hier gelandet. Warum ich all das schreibe? Einfach erklärt!
Für alle oben genannten „Dinge“ findet man haufenweise Tutorials kostenlos und auch in zahlbaren Versionen. Auch in unterschiedlichster Qualität. Nicht für Lavarel, (ausgenommen https://lavarel.com). Damit bist du – zumindest im deutschsprachen Raum – einer der ersten und vor allem mit einer imposanten Qualtiät. Dafür gilt mein Dank.
Natürlich sind mir einige Fehler aufgefallen. die kann ich noch nicht zuordnen. Vorrangig wahrscheinlich verursacht durch mein Unvermögen. Vielleicht auch weil ich mit Version Lavarel 5.2 arbeite. Zum Beispiel läuft das Kontaktformular in der von dir vorgestellten Version überhaupt nicht.
Neben dem Dank verspreche ich, dass ich mir diesen Teil (Kontaktformular) genau analysieren werden. Wenn ich eine allgemein gültige funktionierende Lösung gefunden habe, hoffe ich, dass ich diese per E-Mail (Vorgehensweise, Dateien, Musterdomain) – zur Verifizierung – zusenden darf.
Hallo Thomas,
vielen Dank für deinen Kommentar und deine warmen Worte. Respekt für deine Leistung und dein Durchhaltevermögen die ganzen Sachen zu lernen.
Ich glaube nicht, dass es an deinem Unvermögen liegt, wenn es an der einen oder anderen Stelle zu Problemen kommt. Ich weiß, dass das Tutorial mittlerweile hakt. Laravel macht von Version zu Version teilweise große Sprünge. Bzw. Sachen anders als sie vorher gemacht wurden. Oft liegt es auch daran, dass ich immer noch lerne.
Aktuell bereite ich die Überarbeitung der Tutorials auf Laravel 5.2 vor und mache mir auch einen Fahrplan über neue Tutorials. Daher lohnt es sich auf jeden Fall von Zeit zu Zeit mal wieder hier vorbei zu schauen. Für die Zukunft habe ich auch einen Newsletter geplant, der dann auch die Leute informiert, wenn was neues live gegangen ist.
Viele Grüße,
Dirk