php-germ
geoAddress::WordPress-Plugin für Google-Maps
abgelegt im Archiv WordPress von Konrad Priemer am 19.07.07
geoAddress::WordPress-Plugin für Google-Maps

GeoAddress ist ein WordPress-Plugin zum Erstellen einer Kontakt-/Adressliste die in einer Google-Map mittels Markern dargestellt werden kann. Die Darstellung der Google-Map bzw. des Adressformulars kann im Adminbereich mittels zahlreicher Optionen beeinflusst werden.


Per Default wird unter der Google-Map eine vollständige Liste der (aktivierten) Adressen ausgegeben. Wer diese Liste lieber in eine Sidebar packen möchte, kann dies mittels des mitgelieferten GeoAddress-Sidebar-Widget realisieren.



Aktuelle Version:



1.0



Features:




  • Umfangreiche Einstellmöglichkeiten für Karte und Formular

  • Versenden einer Bestätigungsmail an den User

  • Versenden einer Mitteilung an den Admin nachdem der User seine Angaben bestätigt hat

  • Darstellung der Adressliste in einer Sidebar (GeoAddressSidebar-Widget ist im Download enthalten)

  • Aktivierung kann nur durch den Admin durchgeführt werden.

  • Bei der Aktivierung wird anhand einer zusätzlichen Karte direkt angezeigt ob die eingegebene Adresse von Google-Maps auch dargestellt werden kann.

  • Spamschutz mittels captcha-Überprüfung

  • XSS-Check der eingegebenen Formulardaten




Links:



Demo-Adressformular, Demo-Karte, GeoAddress-Download



Anmerkung



GeoAddress ist mein erstes WordPress-Plugin. Da ich eigentlich eher aus der Joomla-Programmierung komme und mich mit der WordPress-API noch nicht so gut (eher wenig) auskenne, sei mir Verziehen wenn ich in den Scripten evtl. das Rad an manchen Stellen neu erfunden habe ;-)


Wenn du einen Fehler gefunden hast, einen Wunsch für kommende Updates hast, oder einfach nur deinen Kommentar zu dem Plugin abgeben möchtest, so kannst du dies hier gerne tun ich freue mich über jede Reaktion (egal ob Pro oder Kontra): Comments



Voraussetzungen:



Getestet mit WordPress 2.2.1 und IE 7, Firefox 2.0.0.4 und Opera 9.21



Einschränkungen:



Die Adressliste sollte nicht zu groß werden da Google-Maps für jede Adresse eine GeoCode-Abfrage durchführen muss. Ich habe es mit ca. 30 Adressen getestet und konnte damit noch eine korrekte Geschwindigkeit der Kartendarstellung erzielen. Wo allerdings die Obergrenze liegt bei der der Kartenaufbau zu lange dauert lässt sich nur durch probieren herausfinden ;-)


Weitere Einschränkungen siehe: Google-Maps API, hier kann auch direkt ein API-Key generiert werden der zur Anzeige einer Google-Map benötigt wird.



Screenshots aus dem Adminbereich





















 


 


 


 


 


 


 


 


 




Installation



Seiten-Templates


Zur Anzeige der Karte bzw. des Formulars werden 2 neue Seiten-Templates benötigt.

Da es aber bei der Unmenge von Templates nahezu Unmöglich ist eine All-in-One Lösung dieser 2 Templates anzufertigen, muß hier ein wenig do-it-yourself vorgenommen werden.

Im Download enthalten sind 2 Beispiel-Templates für das WordPress-Standard-Theme.

Workarround Seiten-Templates


1.) Aus dem Verzeichniss wp-content/themes/_dein_theme_/ deiner WordPress-Installation kopierst du dir die Datei pages.php auf deinen lokalen PC.


2.) Diese Datei muß nun 2x kopiert und als geoAddressForm.php und geoAddressMap.php abgespeichert werden.


3.) Änderungen in der (neuen Datei) geoAddressForm.php:


i.d.R. fängt diese Datei (in etwa) so an:


<?php get_header(); ?>



    <div id="content" class="narrowcolumn">

...

...

dieses ändern wir in:


<?php 

/*

Template Name: GeoAddressForm

*/

get_header(); 

?>

    <div id="content" class="narrowcolumn">

...

...

Sollte die Datei anders beginnen, ist dies nicht weiter tragisch, wichtig hierbei ist eigentlich nur, dass der Name des Templates ( hier: GeoAddressForm ) am ANFANG der Datei definiert wird.


als nächstes wird alles gelöscht das sich zwischen <div class="entry"> ... </div> befindet:


<div class="entry">

     ...

     ...

</div>

Hier fügen wir nun den Aufruf des GeoAdress-Formulars ein:


<div class="entry">

    <?php 

    if(!$_POST["addAddress"] && 

       !
$_POST["newId"] && 

       !
$_REQUEST["valid"] && 

       !
$_REQUEST["key"]) {

        
the_content(); 

      }

    
?>

    &nbsp;<br />

    <?php        

    GeoAddress_display 
(); 

    
?>

</div>

4.) Änderungen in der (neuen Datei) geoAddressMap.php:


Hier muß, wie zuvor, wieder der Name des Templates definiert und zusätzlich noch eine Datei inkludiert werden:


<?php 

/*

Template Name: GeoAddressMap

*/

include(ABSPATH."/wp-content/plugins/geoAddress/inc/mapDisplayHead.php");

get_header(); 

?>

    <div id="content" class="narrowcolumn">

...

...

Anschießend wieder alles zwischen <div class="entry"> ... </div> löschen und durch folgenden Code ersetzen:


<div class="entry">

      &nbsp;<br />

      <?php        

      the_content
(); 

      
$gA->GeoAddress_displayMap(); 

      if(
$params["ShowSideClick"] == "1") {

        echo 
$gA->_GetSideClick

      }

      
GeoAdress_cp(); 

      
?>

</div>

5.) Sind alle Änderungen gemacht, die zwei neuen Template-Dateien auf den Webserver in das Verzeichnis: wp-content/themes/_dein_theme_/ hochladen.


Site-Click (Adressliste)


Die Adressliste wird per Default unter der Karte angezeigt, möchtest du die Adressliste allerdings in der rechten bzw. linken Sidebar haben, muß das geoAdressSidebar-Widget installiert sein (im Download enthalten).


!! WICHTIG !!


Das Verzeichnis wp-content/plugins/geoAddress/gd muss Schreibrechte haben ( chmod 757 ), sonst können die Captcha-Grafiken nicht erstellt werden!




Anwendung



Damit das Formular zur Adresseingabe angezeigt werden kann, muß nur eine statische Seite erstellt werden. Dieser muß unter dem Optionspunkt -Seiten-Template- das Template geoAddressForm zugewiesen werden.
Zusätzlich kann auch ein Einleitungstext für dieses Formular eingegeben werden, dieser erscheint über dem Formular.


Damit die Karte angezeigt werden kann, muß eine weitere statische Seite erstellt werden. Dieser muß unter dem Optionspunkt -Seiten-Template- das Template geoAddressMap zugewiesen werden.
Zusätzlich kann auch ein Einleitungstext für die Karte eingegeben werden, dieser erscheint über der Karte.


Siehe hierzu auch: Installation -> Seiten-Templates


Sollen die Adresseinträge ausschließlich vom Administrator gepflegt werden, kann das Adressformular natürlich auch weggelassen werden ;-)


!! WICHTIG !!


Zur Anzeige einer Google-Map wird ein API-Key benötigt, dieser kann hier -API-Key- kostenlos generiert werden.




ToDo





  • Speicherung der ermittelten Koordinaten damit nicht immer eine GeoCoder-Abfrage an Google-Maps gesendet werden muß.

  • Gruppierung von Markern die räumlich nicht weit voneinander entfernt sind.

  • Möglichkeit für verschiedene Icon-Typen bzw. Icon-Farben je nach Kategorie.

  • Möglichkeit zur Sortierung der Adressliste

  • Filter zur Anzeige nach Kategorie

  • Englische übersetzung

  • ...

  • ...





Danksagung



Da es ja nicht immer selbstverständlich ist sich bei jemanden zu bedanken, möchte ich dies an dieser Stelle trotzdem mal tun.


Danke für die 2 wirklich tollen PHP-Klassen an die Script-Autoren:



Permalink: geoAddress::WordPress-Plugin für Google-Maps
Tags: WordPress  Plugin  GoogleMaps  XSSCheck  Captcha  Spamschutz  Adressliste  GeoAdress  GeoCoder 
Trackback: http://publish.creative-weblogging.com/publish/mt-tb.pl/81856

del.icio.usReadsterLycosAlltagzFolkdWongWikioNewstubeDIGG

Stimmen Sie ab für geoAddress::WordPress-Plugin für Google-Maps:

  • Currently 7.38/10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Dieser Eintrag wurde mit: 7.38 Punkten (von 16 Stimme(n) insg.) bewertet.
Abonnieren
Share It
Möchten Sie gern einen neuen, interaktiven Marketingkanal für Ihr Unternehmen haben? Erfahren Sie mehr über Sponsored Blogs mit Creative Weblogging. Sehen Sie wie man Sponsored Blogs erfolgreich einsetzt.
RSSrss
Alle Abonnements sehen
Google google
Was ist RSS?
Yahoo! yahoo
MEIN MSN MSN
Bloglines Bloglines
Newsletter

TwitterFollowen Sie uns bei Twitter!
blog-o-rama.de bloggerei.de - deutsches Blogverzeichnis Deutsches Blog Verzeichnis