Inhalt
Affiliate CTA Plugin für WonderCMS schreiben
Die Unterstützung mit Plugins für das noch junge WonderCMS ist leider noch etwas klein und wird sich sicherlich in der kommenden Zeit auch ändern. Der folgende Beitrag zeigt das Coding und die Entwicklung eines Affiliate-Plugins für WonderCMS.
WonderCMS Verzeichnis-Struktur
Die Pluginstruktur in WonderCMS ist sehr gut dokumentiert. Alle Plugins liegen im Verzeichnis Plugins in einem Ordner der den gleichen Namen trägt wie das enthaltene Plugin. In diesem Fall ist es die folgende Struktur:
|
+~~~ plugins
|
+~~~ affiliate
|
+~~~ affiliate.php
|
+~~~ config
|
+~~~ version
Code
Beim Starten von WonderCMS wird der Inhalt des Plugin-Verzeichnis immer frisch geladen und die Programme stehen dann sofort zur Verfügung. Sie sehe auch bereits, das es zum Affiliate Plugin für WonderCMS eine Config-Datei gibt, in der die Vorgaben zur Produkteinblendung eingetragen werden können.
Config
Das extensionslose Configfile liegt im selben Ordner wie auch der Programmcode des WonderCMS Plugins. Die Config-Datei hat de folgenden Inhalt:
001 [general]
002 start = 1
003 end = 2
004
005 1_title = "Produktname 1"
006 1_description = "Tragen Sie eine ausführliche Produktbeschreibung ein..."
007 1_link = "https://www.amazon.de..."
008 1_image = "https://...jpg"
009
010 2_title = "Produktame 2"
011 2_description = "Tragen Sie eine ausführliche Produktbeschreibung ein..."
012 2_link = "https://www.amazon.de..."
013 2_image = "https://...jpg"
Datei: config
In diesem Beispiel gibt es erst zwei Produkte, die Liste kann jedoch ganz nach belieben erweitert werden. Wichtig zu beacten ist jedoch, das die fortlaufenden Produktgruppen korrekt nummeriert werden (3_xxx, 4_xxx usw.).
Das WonderCMS Plugin
Der eigentliche Programmcode des WonderCMS Plugins ist erstaunlich klein.
001 <?php
002
003 global $Wcms;
004
005 if (defined('VERSION') && !defined('version')) {
006 define('version', VERSION);
007 defined('version') OR die('Direct access is not allowed.');
008 }
009
010 $configuration = parse_ini_file('config');
011
012 define('AFFILIATE_RND_START', $configuration ['start']);
013 define('AFFILIATE_RND_END', $configuration ['end']);
014
015 $random = rand(AFFILIATE_RND_START, AFFILIATE_RND_END);
016
017 define('AFFILIATE_TITLE', $configuration [$random.'_title']);
018 define('AFFILIATE_DESCRIPTION', $configuration [$random.'_description']);
019 define('AFFILIATE_LINK', $configuration [$random.'_link']);
020 define('AFFILIATE_IMAGE', $configuration [$random.'_image']);
021
022 function affiliate() {
023 global $Wcms;
024
025 $result = '';
026 $result .= '<div class="row">';
027 $result .= '<div class="col-sm-2">';
028 $result .= '<img src='.AFFILIATE_IMAGE.' class="img-fluid">';
029 $result .= '</div>';
030 $result .= '<div class="col-sm">';
031 $result .= '<p><strong>'.AFFILIATE_TITLE.'</strong> - '.AFFILIATE_DESCRIPTION.'</p>';
032 $result .= '<a href='.AFFILIATE_LINK.' class="btn btn-secondary">'.AFFILIATE_TITLE.'</a>';
033 $result .= '</div>';
034 $result .= '</div>';
035
036 return $result;
037 }
038
039 ?>
Datei: affiliate.php
Zeile 005 fragt de aktuelle Version des WonderCMS ab, daher müssen Sie diese Datei anlegen oder kopieren diese aus einem installierten Plugin heraus. In den Zeilen 010...020 wird die Config-Datei ausgelesen und in die Inalte zu Produkttitel, Beschreibung usw. in die Konstanten kopiert. Dazu werden die Initialwerte für Start und Ende in die Zufallsgenerator 015 kopiert, dieser generiert einen Präfix, welcher in 017...020 den Produktgruppen zugeordnet wird. Ab Zeile 022 wird das Ergebnis an das Frontend der Webseite mit Hilfe des return 036 übertragen.
Das Template
Damit das WonderCMS Plugin sein Ergebnis auf der Webseite eintragen kann, muss im Template die folgende Zeile hinterlegt werden:
<?php echo affiliate() ?>
Bsp.: in ../themes/essence/theme.php einbinden
Die Programmzeile ruft das Plugin und die darin enthaltene function affiliate() auf und trägt an genau dieser Stelle deren Rückgabe ein. Als Ergebnis erhalten Sie beispielsweise die folgende Anzeige:
Affiliate Plugin für WonderCMS blendet das Produkt PHP 8 und MySQL aus dem Amazon Partner-Netz ein
Sie können das Plugin natürlich auch dazu nutzen, um CTA (Call to Action), eigene Beiträge Ihres oder anderer Webseiten via Zufallsgenarator einblenden zu lassen. Das Plugin muss daher nicht zwingend als Affiliate-Plattform in Ihrer WonderCMS Webseite dienen.
FlightCMS
2024-01-28
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
28