Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[GELÖST] Drupal 8 | "createFromRoute" mit "contextual filters"

Eingetragen von marco-s (21)
am 02.03.2016 - 09:30 Uhr in
  • Modul-Entwicklung
  • Drupal 8.x

Hallo zusammen

Ich arbeite an einem Breadcrumb-Modul für meine News. Ich gebe in der Breadcrumb zusätzlich das Jahr des Newseintrages aus. --> Es ist mit "contextual filters" möglich, nur alle News von Jahr XY anzuschauen (Bsp: /news/2016). Das funktioniert auch wunderbar, wenn man das manuell ins Browser-Adressfeld eingibt.

In meinem Modul arbeite ich mit der Funktion Link::createFromRoute. Dieser Methode kann ich zwar Route-Parameters mitgeben aber diese werden dann als GET-Parameter angehängt z.B. news?year=2016
Damit funktioniert die Filterung von Drupal natürlich nicht, da die contextual filter values mit Slash angegeben werden müssen. Also eben z.B. /news/2016

<?php
//...
$breadcrumb = new Breadcrumb();
$breadcrumb->addLink(Link::createFromRoute($this->t('Home'), '<front>'));
$newsLinkYear = Link::createFromRoute($year, 'view.news.page_news_listing', array('year' => $year)); //erzeugt /news?year=2016 anstatt /news/2016
//...
?>

Gibt es dafür bereits eine Lösung?

Danke und Gruss
Marco

‹ Fehler im Quiz Modul? [GELÖST] Drupal 8 | "createFromRoute" mit "contextual filters" ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

routeParameter

Eingetragen von stBorchert (6003)
am 02.03.2016 - 10:36 Uhr

Moin.
Du versuchst, einen benannten Parameter zu setzen ("year"). Da die Route jedoch keine (bzw. nur automatisch generierte Parameter) hat, funktioniert das nicht. Für jedes View-Argument wird der Route ein Parameter namens arg_{index} hinzugefügt, also musst Du einfach anstelle von "year" den Namen "arg_0" verwenden:

<?php
$breadcrumb
= new Breadcrumb();
$breadcrumb->addLink(Link::createFromRoute($this->t('Home'), '<front>'));
$newsLinkYear = Link::createFromRoute($year, 'view.news.page_news_listing', ['arg_0' => $year]);
?>

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

DANKE!

Eingetragen von marco-s (21)
am 02.03.2016 - 11:20 Uhr
stBorchert schrieb

Für jedes View-Argument wird der Route ein Parameter namens arg_{index} hinzugefügt, also musst Du einfach anstelle von "year" den Namen "arg_0" verwenden

Hallo Stefan

Vielen Dank für Deine Antwort! Funktioniert perfekt!! :) :) :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
Weiter

Neue Kommentare

  • Verwende doch das Tag dafür,
    vor 5 Tagen 14 Stunden
  • Guckst du hier: step by step
    vor 5 Tagen 3 Stunden
  • Guckst du hier: step by step
    vor 5 Tagen 3 Stunden
  • Ich habe ja keine Angst vor
    vor 2 Wochen 13 Stunden
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 2 Wochen 2 Tagen
  • Vielen Dank erst einmal, aber
    vor 2 Wochen 4 Tagen
  • Du hast die "Trusted host
    vor 2 Wochen 4 Tagen
  • Bitte genauer den aktuellen Lösungs-Ansatz beschreiben
    vor 4 Wochen 3 Tagen
  • Git und rsync sind die wichtigsten Werkzeuge
    vor 5 Wochen 8 Stunden
  • Arrrrg. Nix Tabelle :-D /*
    vor 9 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250284
Registrierte User: 20499

Neue User:

  • Inga GuAph
  • Robertolix
  • DavidBit

» Alle User anzeigen

User nach Punkten sortiert:
wla9464
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 29 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association