Route Controller soll Node rendern
Eingetragen von geoport (101)
am 07.12.2017 - 10:08 Uhr in
am 07.12.2017 - 10:08 Uhr in
Hi Forum,
mit dem Code
<?php
$response = \Drupal::entityTypeManager()->getViewBuilder('node')->view($node, 'full');
?>
baue ich ein View, der gerendert wird, ich möchte eigentlich jedoch lediglich einen einzelnen Node gerendert haben, welche Klasse muss ich dafür nehmen?
mit bestem Gruß
Geoport
- Anmelden oder Registrieren um Kommentare zu schreiben
Das schaut doch genau richtig
am 07.12.2017 - 14:43 Uhr
Das schaut doch genau richtig aus für einen einzelnen node, wobei $node eben das node objekt ist.
Okay, besten Dank, ich mache
am 07.12.2017 - 15:43 Uhr
Okay, besten Dank, ich mache das ganze mit einem Controller dessen Route einen Title hat, dieser wird angezeigt und darunter erneut der Node mit Titel, wenn ich den Titel anklicke bin ich auf der Tatsächlichen Nodeseite, bekomme ich das auch irgendwie hin, sprich das ich auf der Seite lande auf der ich auch Node edit klicken kann?
vielen lieben Dank
www.geoportal.de
Hi,ich habe es jetzt mit
am 08.12.2017 - 09:14 Uhr
Hi,
ich habe es jetzt mit einem Redirect gemacht:
<?php
$response = new \Symfony\Component\HttpFoundation\RedirectResponse('/node/20');
?>
Das ist leider nicht ganz so "cool", weil sich die URL auch ändert, aber dafür bin ich wirklich direkt auf dem Node drauf.
www.geoportal.de
Wie ist denn dein
am 08.12.2017 - 09:43 Uhr
Wie ist denn dein Anwendungsfall? Wenn du ohnehin nur einen Redirect ausführst, wäre doch ein normaler Alias für den Node genau das, was du brauchst?
Hi,leider kann ich den Spaß
am 14.12.2017 - 13:24 Uhr
Hi,
leider kann ich den Spaß nicht so einfach bzw. gar nicht mit pathauto umsetzen. Folgendes möchte ich umsetzen:
Ich habe ein Content Type mit bei dem die Inhalte auf andere Nodes referenzieren, also zum Beispiel
Node 1 (Nahrung), hat Referenzen zu :
Node 2 (Obst)
Node 3 (Süßwaren), von hier geht es dann weiter zu:
Node 4 (Gummibärchen)
Node 5 (Schokoriegel)
Node 6 (Verkehrsmittel)
Node 7 (Flugzeuge)
Node 8 (Autos)
die Nodes sind alle mit einem unique Titel benannt.
ich hoffe es ist zu verstehen was ich meine (ich weiß auch das es äquivalent mit Taxonomien aufgebaut werden kann)
Was ich nun möchte ist, dass folgende URL Aufrufe nicht einfach nur uncool in einem Redirect enden, sondern Seiten der entsprechenden Nodes direkt ausgeben werden, so als würde ich "/node/1" aufrufen:
/parent => /Nahrung => gibt beispielsweise den Node Nahrung aus, sowie die enthalten Referenzen
/parent/child => /Nahrung/Obst => gibt beispielsweise den Node Obst aus
/parent/child => /Nahrung/Auto => führt zu einer Fehlermeldung, weil es diese Kombination nicht gibt
Ich möchte defacto pathauto nachbauen nur eben mit meinem eigenem Regelwerk.
mit bestem Dank
Geoport
www.geoportal.de
Hi, im MVC Modell ist der
am 14.12.2017 - 13:29 Uhr
Hi,
im MVC Modell ist der Controller unabhängig von der View Schicht.
Wenn Du etwas rendern möchtest, dann sicher nicht im Controller, sondern in einer View.
MFG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Hallo Robert, dann verstehe
am 14.12.2017 - 13:38 Uhr
Hallo Robert,
dann verstehe ich den Unterschied zu:
<?php
$response = \Drupal::entityTypeManager()->getViewBuilder('node')->view($node, 'full');
?>
nicht, hier rufe ich doch eine "Renderfunktion" im Controller auf, nur das ich hier eben ein DrupalView bekomme und nicht den Node, so als würde ich /node/2 aufrufen.
mfg
Tim
www.geoportal.de
Hi, also ich kann die ganzen
am 15.12.2017 - 09:50 Uhr
Hi, also ich kann die ganzen Dinge nach und nach besser auseinanderhallten und nachvollziehen und habe festgestellt, dass das Rendern tatsächlich für mein Vorhaben nciht geeignet ist, denn dann werden im Content-bereich auch nicht die entsprechenden Blöcke angezeigt.
Ich möchte eben ganz speziell meine URL beibehalten und keinen redirect zu /node/XX machen.
mfg
Tim
www.geoportal.de