Ein Bludit Plugin manuell im Template des CMS aufrufen
Natürlich können Sie im CMS Bludit Plugins auch manuell ohne Hook aufrufen, denn nicht immer stehen Hooks zur Verfügung oder sind mit anderen Plugins belegt
Juli 5, 2023 - Lesezeit: 2 Minuten
Inhalt
Ein Bludit Plugin manuell einbinden
Nicht immer stehen ausreichend Hooks für den Aufruf von Plugins zur Verfügung oder diese sind bereits mit anderen Plugins belegt, es kann sogar sein, das im betreffenden Theme gar keine Hooks vom Entwickler vorgesehen sind. Dennoch lassen sich dann Plugins manuell in das Theme einbinden und starten.
Die Kurzschreibweise für die manuelle Einbindung eines Plugins in das Template finden Sie hier:
049 <?php
050 echo getPlugin('pluginPostStatistic')->statistics();
051 ?>
Der Code oben bindet das folgende Plugin mit dem Class-Namen pluginPostStatistic ein und ruft dort die function statistics() auf. Diese wiederum liefert einen Returnwert an das Template zurück und zeigt diesen an.
001 <?php
002 class pluginPostStatistic extends Plugin {
003
004 public function init() {
005 $this->dbFields = array('count' => 0);
006 }
007
008 public function statistics() {
009 $count = $this->getValue('count');
010 $count = $count+1;
011
012 deactivatePlugin('pluginPostStatistic'); // deaktivieren
013 $this->dbFields['count'] = $count; // modifizieren
014 activatePlugin('pluginPostStatistic'); // aktivieren (speichern)
015
016 return $this->getValue('count');
017 }
018 }
019 ?>
Das Plugin oben erzeugt einen fortlaufenden Counter und gibt ihn an die rufende Stelle im Template oben zurück, zudem speichert es den Counter in der Plugin DB sitzungsübergreifend ab.

PHP 8 und MySQL: Das umfassende Handbuch zu PHP 8. Dynamische Webseiten, von den Grundlagen bis zur fortgeschrittenen PHP-Programmierung
Dynamische Webseiten mit PHP und MySQL programmieren: Alles, was Sie dafür wissen müssen, steht in diesem Buch. Profitieren Sie von einer praxisorientierten Einführung und lernen Sie alle neuen Sprachfeatures von PHP 8 kennen. Die Autoren Christian Wenz und Tobias Hauser sind erfahrene PHP-Programmierer und Datenbankspezialisten. Sie zeigen Ihnen, wie Sie MySQL und andere Datenbanksysteme effektiv einsetzen. Mit diesem Wissen machen Sie sich rundum fit für dynamische Websites. (*
Hinweis: Das Coding des Counters bedient sich allerdings eines Tricks. Normalerweise erfolgt das Schreiben in die Plugin DB über eine Form oder bei Initialisierung des Plugins, daher wird das Plugin kurz deaktiviert (Zeile 012) und danach erneut aktiviert (Zeile 014), dadurch ist es möglich die neuen Counter-Werte in das Feld count zu speichern. Das Plugin muss natürlich trotzdem aktiviert sein, ist dies nicht der Fall bricht die Ausführung des Templates ab.
Prüfen ob das Plugin aktiv ist
Fragen Sie daher zuvor im Template ab, ob das Plugin eingeschaltet ist. Das folgende Codebeispiel zeigt dies mit einem kurzen IF-Befehl in Zeile 050.
049 <?php
050 if (pluginActivated('pluginPostStatistic')) {
051 echo getPlugin('pluginPostStatistic')->statistics();
052 } else {
053 echo 'Das Plugin deaktiviert';
054 }
055 ?>
Natürlich können Sie die Ausgabe der Zeile 053 weglassen, denn ist das Plugin deaktiv soll auch nichts angezeigt werden.
Weitere Informationen finden Sie in der Doku des Bludit: hier
Schlagworte:
Plugin dbFields