Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Symfony Grundkurs

Eine Details-Seite einrichten

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Erfahren Sie in diesem Video, wie Sie eine eigene Seite erstellen können, in der nur ein einzelner Datensatz aus der Tabelle ausgegeben wird.
06:53

Transkript

Unsere Liste ist jetzt so weit fix, das heißt, ich kann in die Liste eintragen und es wird mir auch von der Datenbank dann ein neues Ergebnis wieder ausgegeben. Es ist also an der Zeit, dass wir uns jetzt um die Buttons kümmern. Zuerst möchte ich hier mich um Details kümmern. Bei Details stelle ich mir vor, dass ich eine Seite öffnen kann wo dann nur ein einziger Eintrag wieder ausgegeben wird. Um das zu erreichen, wechsle ich zurück in meine IDE und ich brauche eine neue Route, eine neue Seite und am besten kopiere ich mir hier mal diese Route von meiner Startseite und passe sie dann an meine Gegebenheiten an. Mit Strg+C kopiere ich sie, gehe ganz ans Ende vor den letzten schließenden, geschwungenen Tag, weil das betrifft unseren Controller und füge mit Strg+V diese Route wieder ein. Allerdings soll die Route dann woanders hinführen. Ich habe hier schon eine "details.html" angelegt, die ich Ihnen dann zeige und hier möchte ich jetzt also auf die Details verweisen. Allerdings brauche ich, wenn ich mir die Details ausgeben lasse, nur ein Detail und deswegen werde ich mir dieses Detail nach einer entsprechenden ID aufrufen lassen, das heißt, ich gebe hier noch den Wunsch nach der ID mit. Dann habe ich hier eine "public function", die braucht natürlich auch einen neuen Namen, nämlich "detailsAction" und dieser "detailsAction" möchte ich die ID übergeben. Ich brauche hier noch einen anderen Namen, weil den werden wir später brauchen, um überhaupt auf die Seite zugreifen zu können und dann sehen wir uns mal an, worum es hier geht. Ich möchte tatsächlich wieder die Datenbank befragen, nur möchte ich dieses Mal nicht alles ausgegeben bekommen, sondern ich möchte nur die ID ausgegeben bekommen, das heißt, "find($id) und mit Hilfe dieses "find($id)" möchte ich die Möglichkeit haben, eben dieses einzelne Element aus der Tabelle ansprechen zu können. Dann habe ich hier einen neuen Seitennamen, nämlich "details.html.twig" und ich muss mir meine Variable auch wieder ausgeben lassen. Es sieht so aus, als würde jetzt hier innerhalb meines Controllers soweit mal alles passen. Das heißt, ich speichere meinen Eintrag und kümmere mich jetzt als nächstes um meine "details.html.twig". Ich möchte Ihnen zeigen, was ich davon vorbereitet habe. Es ist wieder ein einfacher Hinweis, dass wir die "base.html.twig" einbinden wollen und dann innerhalb des "block"-Elements für den "body"-Bereich habe ich einerseits die Überschrift und ich lasse mir für diese Überschrift eine Twig-Variable übergeben, nämlich von meiner Planung, was ich hier eingerichtet habe, und was ich von der Datenbank ausgegeben bekomme, den Eintrag "name" und das Ganze wiederholt sich dann hier herunter. Ich lasse mir die Ausgabe als Listengruppe anzeigen und in der Listengruppe verweise ich dann auf die einzelnen Einträge aus der Datenbank. Und beim Datum habe ich wieder das spezielle Bedürfnis des Formatierens und die Formatierung dafür habe ich mir aus meiner "index.html" geholt. Jetzt muss ich auch noch in meine "index.html" aus dem einfachen Grund, weil hier die Buttons hinterlegt sind und bis jetzt führt der Button noch ins Nirgendwo und das muss ich ändern. Ich habe jetzt innerhalb von Symfony mehrere Möglichkeiten, wie ich Pfadangaben machen kann. Eine Möglichkeit wäre die einer absoluten Pfadangabe, das ist sehr unflexibel und sollte sich meine Installation verändern, hätte ich dann ein Problem. Ich kann jetzt mit einem speziellen Twig-Tag arbeiten -- mit "path" -- und das werde ich auch machen. Das heißt, ich verweise jetzt auf meine Seite über die Pfadangabe des Routes. und sage eben "path" und dieser "path" bekommt jetzt in geschwungenen Klammern den Namen mitgegeben. Und meine Seite heißt "details", und jetzt habe ich aber gleich noch einen Spezialfall, denn die Seite heißt nicht nur "details", sondern ich lasse mir ja in meinem Controller hier die ID übergeben und deswegen muss ich vergleichbares jetzt auch hier umsetzen und zwar sage ich, dass ich nach einem speziellen Bereich suche, nämlich der ID und die ID hole ich mir aus "plan.id". Dies ist jetzt die Voraussetzung dafür, dass der Details-Button auch tatsächlich seine Arbeit verrichten kann. Ich speichere diesen Eintrag in der Index und wechsle jetzt zurück in meine Willkommen-Seite, erneuere mal vorsichtshalber die Ansicht, und wenn ich jetzt hier auf "Details" klicke, sehen Sie, dass ich tatsächlich auch das richtige Detail ausgegeben bekomme. Ich gehe noch mal zurück und probiere das Ganze noch mit Anita. Auch Anita bekomme ich ausgegeben. Das heißt, wir haben hier bei uns innerhalb des Controllers eine neue Route angelegt, haben eine neue Seite angelegt, in der wir uns die entsprechenden Inhalte ausgeben lassen und was ich ausgegeben bekomme bestimmt die ID, die ich eben übergebe und ausgebe.

Symfony Grundkurs

Steigen Sie in die moderne und flexible PHP-Entwicklung mit dem praktischen Framework ein.

2 Std. 35 min (34 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:18.01.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!