• Magazin
  • Communtiy
  • Presse

Fangen wir nun aber endlich an

Alle Joomla-Plugins werden mit Hilfe einer Installationsdatei installiert. Diese Datei übergibt alles Wichtige zum Plugin an Joomla! wenn du das Plugin installierst.

Erstelle also dazu eine Datei mit dem nachfolgenden Inhalt und nenne sie coordstomap.xml.


    <?xml version=“1.0″ encoding=“UTF-8”?>
    <extension
    version=“3.0″
    type=“plugin”
    group=“content”
    method=“upgrade”>
    <name>Content - Coordinates to OSMMap</name>
    <author>Astrid Günther</author>
    <creationDate>Dezember 2016</creationDate>
    <copyright>Copyright (C) 2016 Astrid Günther</copyright>
    <license> http://www.gnu.org/licenses/gpl-3.0.html</license>
    <authorEmail>Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!</authorEmail>
    <authorUrl>http://astrid-guenther.de</authorUrl>
    <version>1.0.0</version>
    <description>This plugin will replace gps coordinates with a link to osm. Requires Joomla 3.0 or greater.
    Don’t forget to publish this plugin!
    </description>
    <files>
    <filename plugin=“coordstomap”>coordstomap.php</filename>
    </files>
    </extension>

Die eigentliche Arbeit übernimmt die Plugin Datei. Erstelle dazu nun eine Datei mit dem nachfolgenden Inhalt und nenne sie coordstomap.php.


	<?php
	 /**
	 * @package     Joomla.Plugin
	 * @subpackage  Content.Coordstomap
	 *
	 * @copyright   Copyright 2015 Astrid Günther. All rights reserved.
	 * @license     GNU General Public License version 2 or later;
	 */
	 defined(‘_JEXEC’) or die;
	 /**
        * Coords to map plugin class.
        *
        * @since  3.0
        */class PlgContentCoordstomap extends JPlugin
         {
         	/**
            * Plugin that add a hyperling to the osm map to all gsp coordinates.
            *
            * @param   string   $context  The context of the content being passed to the plugin.
            * @param   mixed    $row      An object with a “text” property or the string to be cloaked.
            * @param   mixed    $params   Additional parameters. See {@see PlgContentEmailcloak()}.
            * @param   integer  $page     Optional page number. Unused. Defaults to zero.
            *
            * @return  boolean    true on success.
            */
            ublic function onContentPrepare($context, $row, $params, $page = 0)
            {
                if (is_object($row))
                {
                    return $this->coordstomap($row->text, $params);
                }
         
                return $this->coordstomap($row, $params);
            }
         
             /**
             * Generate a search pattern based on link and text.
             *
             * @param   string  &$text    The text enclosed by the link.
             * @param   string  &$params  The target of an email link.
             *
             * @return  string    A regular expression that matches a link containing the parameters.
             */
            protected function coordsToMap(&$text, &$params)
            {
                $pattern = ’/([0-9.]+) ([0-9.]+)/’;
                $replacement = ’<a href=“http://www.openstreetmap.org/#map=15/$1/$2″>$1 $2</a>’;
         
                $text = preg_replace($pattern, $replacement, $text);
         
                return true;
            }
         }

Wenn ich dir Namen vorschlagen musst du diese natürlich nicht übernehmen. Du kannst dein Plugin nennen wie du magst. Beachten solltest du aber, dass die XML-Datei genauso heißt wie das Plugin - oder manifest.xml.
Außerdem muss der Name deiner Klasse folgendermaßen zusammengesetzt sein: Plg + Art des Plugins + Name des Plugins
Bei uns im Beipspiel also: Plg + Content + Coordstomap = PlgContentCoordstomap

Packe nun die beiden Dateien in ein Zip-Archiv, nenne dieses zum Beispiel plg_content_coordstomap_v1.0.0. Hier spielt die Namenswahl keine Rolle. Installiere dieses Packet dann ganz normal über die Joomla Installationsroutine Erweiterung Plugin. Falls du mehr zum Thema Namenswahl und Versionsnummer wissen willst, empfehle ich dir die englischen Beiträge Extension name und den Abschnitt Erklärung der Versions-Nummerierungim Beitrag Welche Version von Joomla! sollte verwendet werden?

Joomla! - ein Plugin installieren
Joomla! - ein Plugin installieren

Wechsele nun in die Liste der installierten Plugins. Hier sollte nun dein Plugin in der Liste zu finden sein. Aktiviere dieses nun und probiere es aus! Dann erläutere ich die wenigen Zeilen des Programmcodes.

Joomla! - ein Plugin aktivieren
Joomla! - ein Plugin aktivieren

Unser Hostingsponsor

Mittwald Logo