Im zweiten Teil der Reihe werden Sie das eigentliche PHP-Plugin für Bludit schreiben, welches die Affiliate-Links in die einzelnen Webseiten einbinden soll.
Das Affiliate Plugin für Bludit CMS in Aktion
Die Position des Plugins wird über die einzelnen Templates für die Startseite oder der Beitragsseite bestimmt und wird dort fest vorgegeben. Eine dynamische Einblendung an beleibigen Stellen im Text ist mit dieser Variante nicht möglich.
plugin.php
Am besten gehen Sie so vor, das Sie sich ein bestehendes Plugin kopieren und erstellen dann einen neuen Ordner und legen dort die PHP-Datei an oder bennen sie um, beispielsweise so:
...\bl-plugins\affiliate\plugin.php
In der PHP Datei tragen Sie den folgenden Programmcode ein oder kopieren den folgenden Inhalt:
001 <?php
002
003 class pluginAffiliate extends Plugin {
004
005 public function pageEnd()
006 {
007 global $L;
008
009 $rnd = rand($L->get('start'), $L->get('end'));
010
011 //$html .= '<hr class="mt-5">';
012 $html .= '<div class="row">';
013 $html .= '<div class="col-sm-2 mb-3">';
014 $html .= '<img src="'.$L->get('cta-pict-'.$rnd).'" class="img-fluid" />';
015 $html .= '</div>';
016 $html .= '<div class="col-sm">';
017 $html .= '<p><strong>'.$L->get('cta-titl-'.$rnd).'</strong> - '.$L->get('cta-desc-'.$rnd).' <sup>'.$L->get('cta-note-'.$rnd).'</sup></p>';
018 $html .= '<a href="'.$L->get('cta-link-'.$rnd).'" class="btn btn-danger">'.$L->get('cta-butt-'.$rnd).'</a>';
019 $html .= '</div>';
020 $html .= '</div>';
021
022 return $html;
023 }
024 }
Geen Sie beim Class-Name den Namen pluginAffiliate ein, dieser ist vorgeschrieben und setzt sich aus dem Namen des Ordners und dem Prefix plugin zusammen.
Zeile 009 holt mittels get den start und end Wert aus der de_DE.json Datei (weiter unten) und initialisiert damit den Zufallsgenerator. Die Ziffer des Zufallsgenerators wird an die Präfixe cta-titl-, cta-desc-, cta-link-, cta-pict und cta-butt angehängt und bilden damit die verschiedenen Einträge in der de_DE.json Datei ab. Es wird bei jedem Refresh der Seite ein anderes zufälliges Produkt eingeblendet.
metadata.json
In der Datei Metadata tragen Sie einige Infos für das Plugin ein, zum Beispiel so:
001 {
002 "author": "Lohse",
003 "email": "",
004 "website": "http://Oliver-Lohse.de",
005 "version": "3.13.1",
006 "releaseDate": "2020-07-28",
007 "license": "MIT",
008 "compatible": "3.13.1",
009 "notes": ""
010 }
Die Angaben sind rein obligatorisch und helfen Ihnen später die Bedeutung des Plugins zu beschreiben. Geben Sie auf jeden Fall die Versionsnummer ein, damit Sie wissen mit welcher Bludit Version das Plugin entwickelt wurde.
languages/de_DE.json
Die wichtigste Datei ist die Länder- und Sprachdatei, da diese Inhalte und angeben im Backend bei den Plugins angezeigt werden. Passen Sie die Datei:
...\bl-plugins\affiliate\languages\de_DE.json
wie folgt an:
001 {
002 "plugin-data":
003 {
004 "name": "Affiliate",
005 "description": "Ein einfaches Affiliate und CTA Modul..."
006 },
007 "start": 1,
008 "end": 3,
009
010 "cta-titl-1": "Produkt-Name 1",
011 "cta-desc-1": "Produktbeschreibung",
012 "cta-link-1": "http... (Produkt-Link)",
013 "cta-pict-1": "http... .jpg (Produktfoto)",
014 "cta-note-1": "(* (Hinweis)",
015 "cta-butt-1": "lesen... (Buttonbescriftung)",
016
017 "cta-titl-2": "Produkt-Name 2",
018 "cta-desc-2": "Produktbeschreibung",
019 "cta-link-2": "http... (Produkt-Link)",
020 "cta-pict-2": "http... .jpg",
021 "cta-note-2": "(* (Hinweis)",
022 "cta-butt-2": "lesen...",
023
024 "cta-titl-3": "Produkt-Name 3",
025 "cta-desc-3": "Produktbeschreibung",
026 "cta-link-3": "http...",
027 "cta-pict-3": "http... .jpg",
028 "cta-note-3": "(*",
029 "cta-butt-3": "lesen..."
030 }
In diesem Fall sind drei zufällige Affiliate-Links verfügbar, die über das Plugin (weiter oben im Text) ausgelesen werden können. Die Produktliste kann dann beliebig erweitert werden und der Start- und End-Wert müssen enteprschend angepasst werden. Mit dem Befel global $L steht der Inhalt und die Attribute aus der Länder- und Sprachdatei im Plugin zur Verfügung und kann gelesen werden.
Möchten Sie beispielsweise, das Produkt 1 häufiger angezeigt wird als Produkt 2, dann legen Sie Produkt 1 in der de_DE.json Datei gleich mehrfach an, da dies implizit die Wahrscheinlichkeit für die Anzeige des Produkt 1 vor anderen Affiliate-Links erhöht.
von Oliver Lohse