Verwaltung und Einbinden von Image-Maps
Wer nur eine Imagemap für sein Webprojekt benötigt, kann diese problemlos (wie auf der vorausgehenden Seite beschrieben) mit einem Bildbearbeitungsprogramm oder mit einem erstellen HTML-Editor erstellen und den HTML-Code in der (Quell-)Textansicht einer Webseite bzw. eines Beitrages bei WordPress einfügen. Wer jedoch mehr als nur eine Imagemap benötigt, könnte sich zumindest die Verwaltung und das Einbinden seiner Image-Maps durch die Verwendung eines kleinen Plugins erleichtern.
Übersicht » Image-Maps:
- Interaktive Landkarten & Grafiken (kleine Einführung)
- Image-Maps (Hotspots erstellen und verlinken)
- Kartenmappe als WP-Plugin (zur Verwaltung von mehreren ImageMaps)
- Klasse für HM-Karten-Mappe (als Code-Listing mit Beschreibung)
Bei Verwendung des Plugins können mehrere Images in einem Verzeichnis und die zugehörigen Mappen in einem anderen Verzeichnis abgelegt werden, wobei die Einbindung in den Beiträgen einfach mit einem Shortcode erfolgt. Ein Beispiel:
[karten_mappe kartenname="Kartenname"]
Einzelheiten
Im Plugin wird zuerst ein Objekt als Instanz der Klasse ‘Ausgewaehlte_KartenMappe’ erzeugt und an die Methode ‘lade_ausgewaehlte_karten_mappe’ ein Array übergeben, welcher als Schlüssel ‘kartenname’ enthält und als Wert den im Shortcode enthaltenen Namen der Karte oder des Images.
Weiterhin wird ein Objekt als Instanz der Klasse ‘Karten_ImageMaps’ erzeugt, wobei der Wert von kartenname nun als Eigenschaft dieser Instanz zugewiesen wird. Die Klasse ‘Karten_ImageMaps’ wird auf der nächsten Seite beschrieben.
<?php /*---------------------------------------------------------------------------------- Plugin Name: HM-Karten-Mappe Description: Einfuegen mit dem Short-Tag [karten_mappe kartenname="..."] Author: Horst Müller - Stendal Version: Release 1.00 Author URI: http://www.coder-welten.com Plugin URI: http://www.coder-welten.com/einbinden-von-produkten-und-angeboten Datum: 10. Februar 2014 License: GPL v2 - http://www.gnu.org/licenses/gpl-2.0.html Copyright: © 2006/2014 - Verlag Horst Müller - Stendal ----------------------------------------------------------------------------------- */ /*-- Neue Instanz der Klasse Ausgewaehlte_KartenMappe für Shortcode erzeugen -----*/ $hm_auswahl_imap = new Ausgewaehlte_KartenMappe(); $shortc_arr_imap = array($hm_auswahl_imap, "lade_ausgewaehlte_karten_mappe"); add_shortcode("karten_mappe", $shortc_arr_imap); /*-- Die Klasse Ausgewaehlte_KartenMappe -----------------------------------------*/ class Ausgewaehlte_KartenMappe { private $classimaps; private $directosep; private $hotspots; private $gebeaus; public function lade_ausgewaehlte_karten_mappe($atts) { $this->classimaps = "class_karten_imagemaps.php"; // Datei mit der Karten_ImageMaps Klasse $this->directosep = dirname(__FILE__).DIRECTORY_SEPARATOR; // Pfad des uebergeordneten Verzeichnisse if (file_exists($this->directosep.$this->classimaps)) { // Pruefen, ob Datei existiert include_once $this->directosep.$this->classimaps; // Datei mit der Klasse Karten_ImageMaps einbinden if (class_exists("Karten_ImageMaps")) { // Pruefen, ob die Klasse nun existiert $this->hotspots = new Karten_ImageMaps(); // Eine Instanz der Klasse Karten_ImageMaps erzeugen $this->hotspots->kartennam = $atts["kartenname"]; // Der Eigenschaft kartennam den Wert zuweisen $this->gebeaus = $this->hotspots->lade_karten_mappe(); // Die Methode lade_karten_mappe aufrufen } else {$this->gebeaus = "Eine Klasse konnte nicht geladen werden!<br />\n"; } } else {$this->gebeaus = $this->classimaps." konnte nicht geladen werden!<br />\n"; } return $this->gebeaus; } } ?>
Weitere zum Tutorial gehörende Seiten:
Einführung | Hotspots erstellen « / » Beschreibung der Klasse K…