[Gelöst] Umkreissuche mit Content Profile möglich?
am 15.09.2010 - 20:41 Uhr in
Bekomme mit folgendem Setup die Umkreissuche nicht hin... und finde in keinem Forum eine aktuelle/passende Info für dieses spezifische Verhalten:
- Userprofile sind mit Content Profile erstellt - dort habe ich mit CCK, GMAP und location die Adresse als Bestandteil ergänzt
- GMAP und location laufen augenscheinlich prima
> die Geocodierung läuft über Google Maps - es sind auch alle Nodes, bei denen eine Adresse eingefügt ist (also auch die Userprofile!), vollständig geocodiert (haben also lat/long Werte). Das wird in den nodes angezeigt und ist auch in der DB in der location Tabelle zu sehen.
Nun habe ich den view für die Umkreissuche gem. diverser Anleitungen konfiguriert, d.h. primär den Filter Proximity search gesetzt - mit folgenden Testergebnissen:
1. Umkreissuche um user location läuft nicht - liefert nur bei "0" km Umkreis alle Ergebnisse zurück
2. Umkreissuche um feste Postleitzahlen liefert ebenfalls nur bei "0" alle Ergebnisse - unabhängig von einer PLZ
3. Umkreissuche um lat/long Werte liefert witzigerweise vernünftige Resultate... nur wer will schon latitude und longitude als exposed filter abfragen... :-(
Zur Ursache für 1. vielleicht: Wenn ich mir die GMAP Karten anzeigen lasse und auf /map/user gehe, wird mir KEIN user angezeigt, die sind aber alle auf /map/node zu sehen - das irritiert mich soweit nicht, da Content Profile ja nodes aus den usern macht... aber kann damit dann eine Umkreissuche um "user-location" erfolgen, wenn das eigentlich eine "node-location" ist? Kann/muß ich da irgendwo was ändern, damit das als user-location verarbeitet wird?
Zur Ursache für 2.: Die Geocodierung über Google scheint ja während des Node-Erstellens sauber zu laufen - muß ich denn für die Umkreissuche um eine Postleitzahl ggfs. doch noch die zipcode-Tabelle importieren? Oder doch noch irgendein patch benutzen? (Die Threads zu patches waren tlw. 2 Jahre alt... )
Die Tatsache, daß die Suche gem. 3 oben funktioniert, ist doch (hoffentlich) ein Beleg dafür, daß ich ganz nah dran bin... oder ;-)
ach so:
Content Profile 6.x-1.0
GMap Module 6.x-1.1
Location 6.x-3.1
Content Construction Kit (CCK) 6.x-2.8
Views 6.x-2.11
- Anmelden oder Registrieren um Kommentare zu schreiben
Du musst die Zipcode-Tabelle
am 15.09.2010 - 20:59 Uhr
Du musst die Zipcode-Tabelle auf jeden Fall importieren
(Optional) Import a postal codes database for the countries served by your
website, to support proximity searches and other useful features. Postal
code databases may be found in the "databases/" sub-directory of the
Location module directory. The files are in the format of zipcodes.CC.mysql,
where CC is a two-letter country code such as 'us' or 'de'.
Einfach nochmal in der install.txt nachlesen.
Umkreissuche PLZ ok mit Content_Profile+location+views nicht
am 16.09.2010 - 11:46 Uhr
zur Umkreissuche PLZ:
Wie doof von mir... ;-) ich habe das mit der zipcode Tabelle bestimmt 5 mal gelesen, aber immer gedacht... Geocodierung funktioniert ja... die mache ich ja per Google Maps API... stimmt auch soweit für gespeicherte Werte in location-Feldern aber natürlich nicht für mal eben eingegebene PLZ in einem exposed filter...
Also das funktioniert jetzt - ich muß nur noch dieses überflüssige km/mile Auswahlfenster wegbekommen und default km setzen, aber das ist wohl eher Kleinkram.
EDIT: Einstellbarkeit Auswahlfenster oder fix Meilen oder km als unit mit diesem Patch: http://drupal.org/node/787138
zur Umkreissuche User:
Das Problem besteht immer noch - an die Ursache habe ich mich (denke ich) ja auch schon rangetastet.
Das eingesetzte content_profile macht aus den "Userkonten" ja "normale Content-Nodes". Ist ja auch so gewollt und gezielt so eingesetzt. Jetzt kann ich dem Profile per CCK das Feld location mitgeben und erfasse die Adresse bei der Registrierung. Die Location wird mit dem (Content)Profil abgespeichert und auch korrekt geocodiert (habe ich in der DB nachgesehen). drupal/GMap behandelt diese location-daten jetzt aber nicht als "user-location" sondern als "node-location" - das leite ich auch daraus ab, daß die locations der User nur in der /map/nodes angezeigt werden und gar nicht in der map/user.
So weit so gut - damit ist begreiflich, warum die Umkreissuche um eine user-location kein Ergebnis liefert.
Fragen sind aber:
Funktioniert die Umkreissuche um user-location nur mit Standard-Profilen? Müsste ich auf Content_Profile zu verzichten?
Oder muß ich die location anders in das Profil einbauen? Ich habe den Weg gewählt, das als CCK Feld einzubauen. Allerdings hat auch der Versuch, für den Content-Type direkt eine location zu erfassen auch keinen Unterschied gemacht. Und die per CCK Feld erfasste location wird auch als location #1 angezeigt, wenn ich beides in das Profil einbaue.
Hat da jemand Erfahrung mit der Kombination Content_Profile + location + views Umkreissuche ?
Hallo, Das 0-km-Problem löst
am 16.09.2010 - 13:25 Uhr
Hallo,
Das 0-km-Problem löst Du hiermit
http://drupal.org/node/343487 (Patch)
User-Location und Node-Location sind zwei verschiedene Dinge.
Wenn Du User-Location nutzen willst, musst Du das erst unter admin/user/settings aktivieren (ganz unten). Wenn Du User-Location nutzen willst, sind die Orts-Angaben unter user/1/edit zu machen (kann aber auch bei der Registrierung verlangt werden)
User-Location hat nichts mit Content-Profie zu tun - das arbeitet auch ohne.
Du musst Dich aber für eins entscheiden - wenn Du gleichzeitg node + user-location verwendest, kann es problematisch werden da einige "Nodes" dann als "Gast" in den Suchergebnissen auftauchen (bei mir zumindest).
Umkreisuche:
Was meinst Du damit? Exposed Filter? oder Normal-Filter + Block der "Andere User/Nodes in der Nähe" anzeigt? Also was willst Du erreichen - User + km-Angabe? Nodes + km-Angabe? Stadt + km-Angabe? Willst Du eine automatische Anzeige realisieren oder soll der User eine km-Angabe machen können?
Drupal rockt!!!