Plugins sind kleine Php-Scripte für bestimmte Aufgaben (z.B. nächsten 2 Termine anzeigen, aktuelle Geburtstage anzeigen …). Sie müssen im Gegensatz zu Modulen aber nicht unbedingt als eigene Seite aufgerufen werden, sondern können in jede beliebige Html- oder Php-Seite eingebunden werden. Du kannst die Plugins auch in der body_top.php oder body_bottom.php von Admidio einbauen, so dass bestimmte Informationen auf allen Admidio-Seiten angezeigt werden.
Lade das Plugin aus unserem Pluginbereich herunter und entpacken die Zip-Datei. Kopiere das Verzeichnis mit den Dateien in den Ordner adm_plugins in euren Admidio-Ordner. Falls der Ordner adm_plugins noch nicht existiert, muss dieser zuerst noch erstellt werden. Dieser sollte sich auf derselben Ebene wie adm_my_files befinden.
Prüfe im ersten Schritt auf der Pluginseite die Installationsanleitung. Einige Plugins liefern ein eigenes Installationsscript und integrieren sich damit selbstständig in unser Menü. In diesem Fall sind dann keine weiteren Schritte notwendig.
Andere Plugins können sich mit einem kleinen HTML-Script auf der Übersichtsseite einbinden lassen. Dazu muss das entsprechende Script in die Template-Datei adm_themes/simple/templates/overview.tpl
eingebunden werden.
Dort sind mehrere DIV-Blöcke hinterlegt und ihr müsst hinter einem existierenden DIV-Block euren neuen DIV-Block ergänzen. Die DIV-Blöcke sehen so aus:
<div class="col-sm-6 col-lg-4 col-xl-3"> <div class="card admidio-roles" id="role_details_panel_'.$rolId.'"> <div class="card-body" id="admRoleDetails'.$rolId.'"> {load_admidio_plugin plugin="plugin-name" file="plugin-datei-name"} </div> </div> </div>
Ersetzt in diesem DIV-Block den plugin-name durch den Namen des Ordners eures Plugins und ersetzt plugin-datei-name durch den Dateinamen der das Html-Script beinhaltet.
Wollt ihr zum Beispiel das Plugin adm_plugins/calendar/calendar.php
einbinden, so ist sieht der Code-Block anschließend so aus:
<div class="col-sm-6 col-lg-4 col-xl-3"> <div class="card admidio-roles" id="role_details_panel_'.$rolId.'"> <div class="card-body" id="admRoleDetails'.$rolId.'"> {load_admidio_plugin plugin="calendar" file="calendar.php"} </div> </div> </div>
Anschließend könnt ihr die Übersichtsseite neu laden und euer Plugin sollte sichtbar sein.
Der Einbau des Plugins innerhalb von Admidio ist sehr einfach. Gehe dazu idealerweise in die Datei adm_themes/modern/my_body_bottom.php und füge dort an der entsprechenden Stelle den folgenden Codeschnipsel hinzu:
<?php include(ADMIDIO_PATH . FOLDER_PLUGINS . '/birthday/birthday.php'); ?>
Befindest du dich bereits innerhalb eines PHP-Teils der Seite, dann musst du nur folgenden Code hinzufügen:
include(ADMIDIO_PATH . FOLDER_PLUGINS . '/birthday/birthday.php');
Lade nun die Admidio-Seite neu und das Plugin sollte jetzt angezeigt werden.
Seit Version 3.0 werden auch CSS-Dateien des Plugins automatisch geladen und müssen nicht separat aufgerufen werden.
Du kannst die Plugins in der Regel auch außerhalb der Admidio-Seiten nutzen und in deine eigenen HTML/PHP-Seiten einbinden. Allerdings sind hier ein paar zusätzliche Schritte notwendig.
Falls du das Plugin nun in eine reine Html-Seite einbinden möchtest, solltest du die Dateierweiterung der Seite zuerst von html in php umbenennen. Nun kannst du das Modul mit Hilfe von Php in deine ehemals reine Html-Seite integrieren. Füge nun das Plugin (als Beispiel wird hier das Plugin login_form benutzt) mit einer der folgenden Methoden in deinen Html-Code an der Stelle ein, an der die Ausgabe des Plugins dargestellt werden soll:
1. Zuerst muss du die Datei common.php ganz am Anfang deiner Php-Datei über den Serverpfad eingebunden werden:
<?php include_once($_SERVER['DOCUMENT_ROOT']. '/Pfad-zu-Admidio-Ordner /adm_program/system/common.php'); ?>
Der Pfad-zu-Admidio-Ordner muss dabei die Ordnerstruktur beinhalten, die man von der Datei gehen muss, in der du das Plugin einbauen willst, bis zum Admidio-Ordner.
Beispiel 1
FTP-Dateipfad in der das Plugin einbaut werden soll: homepage/index.php FTP-Dateipfad zum Admidio-Ordner homepage/admidio/index.php Include-Befehl: include_once($_SERVER['DOCUMENT_ROOT']. '/admidio/adm_program/system/common.php');
Beispiel 2
FTP-Dateipfad in der das Plugin einbaut werden soll: homepage/index.php FTP-Dateipfad zum Admidio-Ordner admidio/index.php Include-Befehl: include_once($_SERVER['DOCUMENT_ROOT']. '/../admidio/adm_program/system/common.php');
2. Danach folgt der Einbau der Plugins an der gewünschten Stellen:
<?php include($_SERVER['DOCUMENT_ROOT']. '/Pfad-zu-Admidio-Ordner /adm_plugins/login_form/login_form.php'); ?>
3. Haben die vorherigen Varianten nicht zum Erfolg geführt kann man die Plugins auch direkt über eine URL einbinden. Allerdings wird bei dieser Variante die common.php für jedes Plugin wiederholt abgearbeitet, was der Performance des Webservers nicht gerade dienlich ist.
<?php include('http://www.example.org/Pfad-zu-Admidio /adm_plugins/login_form/login_form.php'); ?>
4. Besitzt das Plugin eine CSS Datei so muss diese auch in die Webseite integrieren. Dies muss zum einen innerhalb Admidio's in der my_header.php des ausgewählten Themeordners geschehen, als auch im Header eurer eigenen Seiten, falls Du auch dort das Plugin anzeigen möchtest.
<link rel="stylesheet" type="text/css" href="http://www.example.org/Pfad-zu-Admidio /adm_plugins/login_form/login_form.css" />
Konfigurieren kannst du die meisten Plugins über eine config.php Datei. Dazu wird meistens eine config_sample.php Datei ausgeliefert, welche sich im Ordner des Plugins befinden sollte. Diese Datei kannst du dann einfach in config.php umbenennen. Hier stehen einige Variablen mit Default-Werten zur Verfügung. Diese kannst du nach euren Bedürfnissen anpassen.
Besitzt das Plugin eine eigene CSS Datei, kann über diese das Layout des Plugins angepasst werden.
Bei einem Update des Plugins brauchen und sollten diese beiden Dateien nicht überschrieben werden. Sind durch das Update neue Einstellungen oder CSS-Einstellungen hinzugekommen, so können die neuen Variablen bzw. CSS-Einstellungen, aus der config_sample.php in die bisherige Dateien (config.php und pluginname.css) des Plugins kopiert und die gewünschten Werte eingesetzt werden.
Ein Beispiel für eine Integration von mehreren Plugins in einer Seitenleiste seht ihr auf diesem Screenshot im hervorgehobenen Bereich:
Steht ein Update an, sei es wegen einer Fehlerbehebung, einer neuen Funktion oder aufgrund einer Inkompatiblität zur aktuellen Admidio-Version, so kann einfach der Ordner des entsprechenden Plugins ausgetauscht werden. Lade dir dazu die aktuelle Version aus dem Pluginbereich herunter und ersetze den vorhandenen Pluginordner durch den neuen Ordner aus der Zip-Datei. Besonderheiten beim Update werden in der readme.txt im Pluginordner erwähnt.