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

Views Pfad Alias

Eingetragen von GevatterTod (85)
am 06.11.2012 - 21:39 Uhr in
  • Views
  • Drupal 7.x

Ich habe einen View den ich mit Contextual Filter über Argumente anzeigen bzw filtern lasse. Der View hat entsprechend einen Pfad wie z.B. /obst
wenn ich ihm /obst/banane gebe, zeigt er mir alle Bananen mit /obst/orangen alle Orangen usw.
Nun will ich aber gern die Pfadangabe ohne das "obst" dazwischen haben. Ein weg dafür ist, mit Pathauto manuel einen Alias einzutragen, das funktioniert auch.
Aber gibt es dafür irgendeinen automatischen weg? Denn es werden sehr viele mögliche Argumente sein, die ich nicht per Hand alle als Alias anlegen kann und möchte.
Gibts dafür einen Workaround in Drupal den ich noch nicht kenne (aber gern kennenlernen würde ;-) )?

‹ View – alle Seiten eines Inhaltstypes unterhalb eines Menüpunktes ausgeben [Gelöst] Exposed Filter wird nicht angezeigt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist nicht möglich. Das

Eingetragen von wla (9461)
am 06.11.2012 - 22:54 Uhr

Das ist nicht möglich. Das erste Argument kann bei Drupal keine Wildcard sein. Es muß immer ein festgelegter Teil davor sein.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Was ich mich gefragt habe,

Eingetragen von torfnase (1525)
am 07.11.2012 - 00:28 Uhr

Was ich mich gefragt habe, als ich die Frage gelesen habe:
Wenn Obst offenbar keine Bedeutung hat, warum soll es dann so eine Kategorie geben.

Und wenn du unbedingt auch nach Obst filtern willst, dann gib doch den Einträgen zwei Kategorien mit, also
Banane/Obst
Orange/Obst
Grünkohl/Gemüse

Gruß
Berthold Lausch

  • Anmelden oder Registrieren um Kommentare zu schreiben

Korrekt erstmal, das "obst"

Eingetragen von GevatterTod (85)
am 07.11.2012 - 09:39 Uhr

Korrekt erstmal, das "obst" als Pfad brauche ich um überhaupt den View anzusprechen, soweit klar. Aber wenn ich händisch für den pfad obst/banane ein Alias "banane" eintrage, erreiche ich mein Ziel und finde den View mit der gewünschten Filterung unter www.domain.de/banane und genau das ist mein Ziel. Aber ich will das nicht für jedes Argument händisch machen und ich habe aus Kundensicht die Vorgabe es so zu machen, Sinn und Zweck sei dahingestellt, aber es ist wichtig.
Irgendwelche Ideen? Ich denke es wird darauf hinauslaufen irgendwie automatisiert Aliase zu erstellen, oder? Also z.B. ein kleines Script dass die möglichen Argumente aus der Datenbank ermittelt und dann entsprechende Aliase in der Alias-Tabelle speichert? Hat jemand eine bessere Idee?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich kann nicht erkennen, dass

Eingetragen von torfnase (1525)
am 07.11.2012 - 12:50 Uhr

Ich kann nicht erkennen, dass du überhaupt auf meinen Vorschlag eingegangen bist.
Mir ist z.B. überhaupt nicht klar, warum du die Kategrie Obst in deinem Falle überhaupt als "Oberkategorie" brauchst, wenn du sie bei der Filterung dann hinterher sowieso weglassen willst.
Das mit den Aliasen finde ich keine gute Lösung, ich denke mal, das bist du auf dem ganz falschen Weg.
Es ist nie gut, etwas an der Datenbank hardcore mäßig zu ändern. Die Datenbank wird dadurch eventuell instabil.Ich würde das auf jeden Fall nicht risikieren.

Dass deine Filterung mit den eingegebenen Aliasen dann funktioniert, heißt ja nicht, dass das die beste und einzige Lösung ist, um einen bestimmten Teil der Nodes anzeigen zu lassen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm, also eventuell verstehen

Eingetragen von GevatterTod (85)
am 07.11.2012 - 13:16 Uhr

Hm, also eventuell verstehen wir uns da falsch, vielleicht stehe ich auch auf dem Schlauch oder habe mich falsch ausgedrückt:

'obst' ist ja nur der Pfad von dem View. Der kann z.B. auch 'suche', 'filter' usw heissen. Dannach kommt das Argument, dass ich übergeben will mit dem ich dann irgendwie den View filtere (z.B. nach Taxonomie-Begriff, Benutzername sonstiges). Das mit dem Obst/Banane ist ja nur ein Beispiel.

Ähnlich wäre z.B.
Ich erstelle einen View der alle Inhalte nach Jahreszahl filtert. Der Pfad vom View ist 'archiv', die Jahreszahl ist mein erstes Argument, der View gibt dann alle Inhalte aus dem Jahr frei.
Also: www.meinedomain.de/archiv/2011
Wunsch ist aber das ganze so aufzurufen: www.meinedomain.de/2011

Wegen der Datenbank: Es gibt ja sicher eine Funktion die einen Alias generiert, darauf basierend könnte man ja einen Cronjob schreiben der Aliase generiert. Da hätte ich glaube ich keine Bedenken, oder?

Zitat:

Dass deine Filterung mit den eingegebenen Aliasen dann funktioniert, heißt ja nicht, dass das die beste und einzige Lösung ist, um einen bestimmten Teil der Nodes anzeigen zu lassen.

Deshalb frage ich ja. :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Achso, jetzt verstehe ich,

Eingetragen von torfnase (1525)
am 07.11.2012 - 14:22 Uhr

Achso, jetzt verstehe ich, obst ist überhaupt kein Filter für deine Kategorien.
(Manchmal bin ich etwas begriffsstutzig).

Für Drupal 6 gibt es da, wenn ich das richtig gesehen habe, wohl eine Lösung.
Das Projekt: Views Term Path Override macht das wohl so.

Vielleicht kannst du, wenn du dir dieses Modul genauern anschaust, auch eine Lösung für Drupal 7 ersinnen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm... nach einigem Rumtüfteln

Eingetragen von GevatterTod (85)
am 15.11.2012 - 19:21 Uhr

Danke für den Tipp noch!
Hm... nach einigem Rumtüfteln würde ich gern nochmal das Pferd andersherum satteln:
nämlich indem ich bei dem jeweiligen Node mit passendem Alias also z.B. "Banane" einen View einblende als Block und ihm entsprechend den Alias als Argument übergebe.
Das funktioniert auch schonmal recht gut. Jetzt würde ich gern dieser Seite (also dem normalen node) noch ein weiteres Argument übergeben dass ich im View nutzen will, und dass auch in der URL erscheint, also z.B. /banane/gelb
Wenn ich das so mache, gibt es natürlich erstmal einen 404 weil es diesen Alias nicht gibt.
Da fehlt mir jetzt das entscheidende Knowhow: An welcher Stelle kann ich Drupal klarmachen, dass der erste Teil im Pfad aufgerufen wird, der zweite nur ein Argument ist. Ein Hook? Preproccess?
Konkret geht es hier auch um Taxonomien. Also www.baseurl.com/nodealias/term
Unter dem Node kommt dann ein Block der Inhalte passend zum Term anzeigt. Jemand der mir einen Schubser vom Schlauch herunter geben kann?

Und als wäre das nicht genug, kommt auch schon die nächste Idee: Auf eben dieser Seite will ich auch nochmal einen Filterblock von einem anderen View einblenden (exposed Filter als Block). Diesem View würde ich dann neben der Eingabe in dem Exposed Filter Feld gern noch die "Banane" mitgeben, als Contextual Filter oder eine Art versteckter Exposed Filter. Eine Idee das "dirty" zu machen wäre: Exposed Filter Feld dafür anlegen, per CSS ausblenden und mit Javascript befüllen... das ist aber natürlich kein sehr gelungener Ansatz.. :-/ Kann man bespielsweise die Seite von der aus der Block den View aufruft irgendwie bei den Contextual Filtern verarbeiten? Referer oder so? Hoffe ich konnte das verständlich ausdrücken...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • lstin tombent homophonic wikke
  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
Weiter

Neue Kommentare

  • Rollen
    vor 1 Tag 19 Stunden
  • Inzwischen sind wir bei
    vor 1 Woche 5 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 6 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 3 Tagen
  • Hey danke
    vor 9 Wochen 4 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 10 Wochen 6 Tagen
  • In der entsprechenden View
    vor 10 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250238
Registrierte User: 20465

Neue User:

  • FoxPiola
  • ocvk2810
  • marouane.blel

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 19 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