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
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.
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.
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
Passend:
Standardmäßig wird neben der Kategorie die Anzahl enthaltener Artikel gezeigt. Dies kann etwas nerven und stört das Layout, schalten Sie die Funktion ab
Erstellen Sie einen einfachen Hitcounter und Besuchszähler als Pico Plugin. Dieser Counter zählt Aufrufe von Menschen oder Robots der Suchmaschinen.
Der aktuelle Index des Pico Loops kann für die Steuerung unterschiedlicher Formate abgefragt werden, nutzen Sie das Tag loop.index der Twig Template Engine.
Zählen Sie in der Template-Engine Twig eine Counter Variable im Template hoch oder runter und regeln damit Kontrollzwecke in Ihren eigenen Templates.
Nutzen Sie die Plugin-DB db.php, um individuelle Daten Ihres Plugins zu speichern und lesen diese für die spätere Verarbeitung durch das CMS Bludit aus.
In diesem Beitrag können Sie eine kleine FlatFile Projekt Datenbank herunterladen. Eine Beispielimplementierung in Anlehnung an die FlatFileDB von H.Wiledal
Möchten Sie große Mengen Content verwalten und systematisch organisieren oder entwickeln ein eigenes Flatfile CMS, dann hilft die Flatfile DB von Hugo Wiledal
Mit diesem Beitrag erstellen Sie (oder als Download) eine unabhängige Affiliate Datenbank, die Sie in jedem CMS, jeder Webseite oder jedem Blog nutzen können.
Mit diesem Trick legen Sie neue Datenbank-Felder in der JSON-Datenbank des WonderCMS vollkommen automatisiert an - mit nur einer Codezeile im WonderCMS Theme.
Möchten Sie einen zweiten Slogan im CMS Bludit implementieren, dann hilft dieses Plugin. Sie benötigen keinen freien Hook und rufen es manuell im Theme auf.