[gelöst] View mit Beiträgen - Adresse und Taxonomy
am 12.07.2016 - 19:36 Uhr in
Hallo liebe Gemeinde,
ich habe wieder einen Klemmer.
Das Problem liegt auf folgenden Seiten:
http://www.ausflugs.net/Mecklenburg-Vorpommern/Rostock-Hansestadt
Hier werden alle Beiträge gelistet, die als Taxonomie-Begriff Rostock zugeordnet sind. Allerdings nicht der Beitrag, der Direkt in Rostock ist, da hier per Adressfield zugeordnet.
Hier der Beitrag Rostock, der "In der Nähe" -> Rövershagen hat: http://www.ausflugs.net/Mecklenburg-Vorpommern/Roevershagen
Jetzt hab ich schon den Ort aus dem Adressfield in ein Textfeld beim anlegen gespeichert, allerdings mit nur "Rostock" ohne Hansestadt und nach dieser Info aus der URL würde ich gern in der View (hier ist es noch die "View Taxonomy Term") per Stringvergleich suchen. Ich finde jedoch nicht die Möglichkeit, per Kontextfilter, genau (nicht genau sonder enthält) danach zu suchen.
Vielleicht hätte ich auch die die Möglichkeit, Orte, die in der Nähe sind, als Adressfield zu erfassen!?
Vielleicht hat jemand eine Idee.
Viele Grüße aus
Karl-Marx-Stadt
Thomas
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Suche nach Kontextfilter
am 13.07.2016 - 05:59 Uhr
Die Suche nach Kontextfilter mit Platzhalter macht vermutlich dieses Modul:
https://www.drupal.org/project/contexturl
(Ich habe es noch nicht getestet).
Wenn es darum geht, Orte in der Nähe eines Ortes zu suchen, dann tut das die Umkreissuche (in Kilometern) mit Geocoder.
Geocoder greift dabei auf die Daten im Adressfield zu.
PHP Code in Kontextfilter nach modifizierten Suchbegriff aus URL
am 13.07.2016 - 10:36 Uhr
contexturl erweitert nicht meinen Kontextfilter in Views, oder liege ich da falsch?
Ja, die Umkreissuche ist eine tolle Sache, wenn ich auf einer Karte den Ausgangsort habe. Mir ist es jedoch sehr wichtig, dass auch ohne Karte der User sofort die Namen der Ort, welche in der Nähe sind, liest.
Deshalb muss dies per Hand gemacht werden und deshalb gibt es dann diese Übersichtsseiten.
Im Moment nutze ich ja noch die view_taxonomy_term und versuche die zu verändern. Vielleicht ist ja die Lösung, dass ich mir eine View mit Hilfe eines Suchindex baue? Ist nur so eine Idee, wo ich jetzt von der Umsetzung noch keine Ahnung habe. Richtig wäre es schon, wenn ich alle Beiträge liste, die hier in dem Beispiel Rostock enthalten.
Ich nehme in der View bei "Kontextabhängiger Filter" den ungefilterten Wert einer URL doch nun nimmt er das Argument 2 nicht. Immer, egal was ich einstelle das 1. Argument der URL.
Und dann habe ich ja immer noch "Rostock-Hansestadt" wo ich ja nur "Rostock" brauche.
Kann man dass als PHP-Code abbilden? Vielleicht hat jemand einen PHP-Schnippsel.
Vielen Dank im voraus.
PHP-Code & Kontextfilter
am 13.07.2016 - 17:33 Uhr
Für alle, die die gleiche Frage haben oder ein ähnliches Problem... ich habe es erst einmal so gelöst.
Folgende Kontextfilter habe ich gesetzt:
1. "Global: Null"
Vorgabewert bereitstellen -> ungefilterter Text aus URL -> Pfad-Alias verwenden
- wie ich gelesen habe, wird sonst meine 2. Pfadkomponente, um die es ja eigentlich geht, nicht ausgewertet. Vielleicht kann das ja jemand noch hier richtig stellen oder genau erläutern.
2. "Suche: Suchbegriffe"
Vorgabewert bereitstellen -> ungefilterter Text aus URL -> 2. Pfadkomponente -> Pfad-Alias verwenden
und "Spezifizieren eines Validationskriteriums" per PHP-Code
$handler->argument = str_replace(" Hansestadt","",$tmp );
return $handler->argument;
Hinweis: Ohne "
<?php
?>
und nun nimmt mir die View nur Rostock - der Bindestrich wird wohl schon vorher in ein Leerzeichen gewandelt - und sucht alle Beiträge, wo Rostock drin steht. In meinem Falle eine gute Möglichkeit, alle Beiträge, die mit Rostock in Verbindung gebracht werden, anzuzeigen, da ja der gesamte Inhalt eines Beitrags durchsucht wird.
Falls es eine elegantere Lösung gibt, dann lasst es mich wissen, ansonsten, ich schieße die Frage nun.
Thomas Seidel
www.ausflugs.net
"Ja, die Umkreissuche ist
am 13.07.2016 - 18:38 Uhr
"Ja, die Umkreissuche ist eine tolle Sache, wenn ich auf einer Karte den Ausgangsort habe. Mir ist es jedoch sehr wichtig, dass auch ohne Karte der User sofort die Namen der Ort, welche in der Nähe sind, liest."
Ich wollte nur ergänzen, daß das mit der Umkreissuche auch ohne Karte funktioniert.
Ich mache das z.B. hier:
http://www.abhof-automat.de
Oben ist die Karte aber die Tabelle drunter funktioniert auch mit der Umkreissuche.
Noch eine andere Frage, ist ja eigentlich egal, wenn Du jetzt zufrieden bist, nur der Vollständigkeit halber:
Wenn Du alle Beiträge suchst, in denen Rostock drinnen steht, warum hast Du nicht einen normalen Filter statt Kontext-Filter verwendet?
Der normale Filter ist ja
am 14.07.2016 - 07:51 Uhr
Der normale Filter ist ja starr und entweder ich setze den auf Rostock oder hab keinen... bzw. der Besucher muss den Filterwert setzen. Hier in einer Übersichtseite hab ich aber ja für jeden Ort in Deutschland eine solch Seite und zum Beispiel trifft das ja auch auf diese zu:
http://www.ausflugs.net/Sachsen/Chemnitz-Stadt
Auf http://www.ausflugs.net/kartensuche habe ich noch eine Komplette Suche erstellt, bzw. wird das noch... ist zwar erreichbar aber noch nicht verlinkt. Hier kann der Besucher eingeben, was er will. Also Themen, Kategorien, Stichworte und auch Orte.
Viele Grüße
Thomas Seidel
www.ausflugs.net
"Der normale Filter ist ja
am 14.07.2016 - 09:20 Uhr
"Der normale Filter ist ja starr und entweder ich setze den auf Rostock oder hab keinen"
Ich kann ja beim Filter sagen, ob der String, in dem gesucht wird dem Suchbegriff genau entsprechen muß, ob er damit damit anfängt oder endet, oder ihn einfach enthält.
Wenn Du den Filter auf "enthält Rostock" setzt, dann ist "Hansestadt Rostock" auch dabei.
Ja, du hast recht doch kann
am 14.07.2016 - 09:41 Uhr
Ja, du hast recht doch kann ich dem Filter nicht von Hause aus sagen, dass der das 1 oder 2 Argument von der URL nehmen soll, was er aber müsste.
Da hab ich noch ein Modul gefunden, was das machen solle aber das funktionierte nicht. Das war das Modul https://www.drupal.org/project/views_filter_args
Aber genau das Modul wärs gewesen, um einen ganz normalen Filter per URL zu befüllen und dynamisch die Seiten zu befüllen, zumal da noch die Möglichkeit von AND oder OR besteht.
Vielleicht kennst du ja noch ein alternatives Modul oder hast ein Codeschnipsel für dieses Vorgehen?
Viele Grüße
aus Karl-Marx-Stadt
Thomas Seidel
www.ausflugs.net
Da gibt es einige Ansätze,
am 14.07.2016 - 10:27 Uhr
Da gibt es einige Ansätze, ich konnte das Thema aber bisher immer umschiffen und habe deshalb nichts davon näher getestet.
Wenn Du nach
URL Argument exposed Filter
suchst, dann kommen einige Ergebnisse, z.B. das hier:https://www.drupal.org/node/357082
Da wird ein View-Patch verwendet, das ist natürlich die schlechteste Lösung.
Eher sowas in der Art (Blind eines von vielen Beispielen raus gegriffen)
https://www.drupal.org/node/828804
Stichworte für Suche sind auch
change programmatically exposed filters drupal view
Wenn Du mit der bisherigen Lösung leben kannst, dann ist das vermutlich zu viel Aufwand.