Bitte lesen Sie diese Dokumentation, bevor Sie auf Probleme stoßen!
Wichtiger Hinweis
Die aktuelle Version ist lediglich ein Entwurf. Alles kann sich noch ändern, und es können schwerwiegende Fehler und Einschränkungen vorhanden sein, da sie kaum getestet ist. Es handelt sich um eine so genannte Alpha-Version. Verwenden Sie sie mit äußerster Vorsicht!
Hinweis: Nicht zum Original-Plugin parallel installieren!
Note: Do not install in parallel to the original plugin!
Erweiterungen selbst einbauen: Nutzen Sie diese addnew.htm als Anleitung.
Anforderungen
SimplePlugins_XH ist ein Plugin für CMSimple_XH.
Installation
Die Installation erfolgt wie bei vielen anderen CMSimple_XH-Plugins. Weitere Details finden Sie im CMSimple_XH wiki.
- Sichern Sie die Daten auf Ihrem Server.
- Entpacken Sie die Distribution auf Ihrem Computer.
- Laden Sie das gesamte Verzeichnis auf Ihren Server in das
Plugin-Verzeichnis CMSimple_XH hoch.
- plugins/simpleplugins_xh/* ----> plugins/simpleplugins_xh/*.
- Die Funktion no_cookies_text erfordert die Installation des Plugins Privacy_XH.
Enthaltene Bibliotheken
- 404
- add_qrcode : Anzeige des QR-Codes
- admin_only : Dies wird nur angezeigt, wenn der Admin eingeloggt ist.
- bclock : Show Clock | Server muss python installiert haben; Script kollidiert u.U. im Editor-Modus mit bestimmten Templates!
- checkurl (enthalten in responsiv_iframe): Check URL | Gibt die komplette URL zurück, wenn die Seite gefunden wird; andernfalls wird ein Link zur Fehlersiete 404 des Servers zurückgegeben!
- colorselection : Gibt ein Formular aus zur Auswahl der Vordergrund- und Hintergrundfarbe mit jeweiligem Transparenzgrad. Die Werte werden als Hexzahlen angezeigt und können so notiert werden für die spätere Verwendung.
- eingliedern : Bindet reinen HTML-Code aus einer auf dem Server befindlichen Datei in den Inhalt ein (in der Art von Textbausteinen).
- hellomyplugin: Blindfunktion gibt hier nur 'Hello My Plugin!' aus. Kann verwendet werden, um eigene Funktionen zu realisieren. Kann auch als Vorlage verwendet werden. Anleitung am Ende der Datei.
- mailaddress_hide : Wandelt einen Teil der Zeichen einer E-Mail-Adresse in HTML-Entities um, um einfache Spam-Bots zu blockieren (hilft nicht gegen ausgefeilte Bots).
- make_ruby : Anzeige des Ruby-Codes (Lautschrift über dem Text)
- no_cookies_text : Zeigt den einen oder den anderen Text an. Abhängig vom Wert (true/false) der Funktion privacy_agreed() des Privacy-Plugins. Der erste Text wird angezeigt, wenn Cookies nicht erlaubt sind, der zweite Text wird angezeigt, wenn Cookies erlaubt sind.
- recently_changed : Liste der zuletzt geänderten Seiten mit Angabe des Änderungszeitpunktes und des Menüpfades
- recently_changed_pure : Liste der zuletzt geänderten Seiten (einfache unordered list, nur die Seitennamen werden angezeigt)
- responsive_iframe : zeigt die angegebene Datei innerhalb eines responsiven Frames an.
- search_after_404 : Gibt eine komplette 404-Fehler-Seite aus. Der Text der Seite beinhaltet einen Link zur gewählten Start-(Home-)Seite, einen Link zum Inhaltsverzeichnis und eine Suchmaske.
- tablecolumns : Gibt einen Button oberhalb der Tabelle aus über den einzelne Spalten der Tabelle aus- und wieder eingeblendet werden können.
- viewhtml : Gibt den Inhalt einer HTML-Datei so umgewandelt aus, dass das Listing der Datei im Browser angezeigt werden kann ohne als HTML wirksam zu werden.
Einstellungen
- Wählen Sie "Simpleplugins_xh" aus "Plugins".
- "Sprache" wählen, Ihre Übersetzung erstellen.
- "Konfiguration" wählen ,Ihre Konfigurationerstellen.
Für Entwickler: Sie möchten auch ein einfaches Plugin erstellen
Schauen wir uns simpleplugins_xh/simpleplugins_library/***/index.php an. Sehr einfacher Code!
Das einfachste Plugin ist simpleplugins_library/hellomyplugin/index.php
License
Software License terms GPLv3. © 2015 T. Uchiyama, CC-by-SA © 2021 - 2024 K.R. Lembach für 'colorselection', 'eingliedern', 'no_cookies_text', 'recently_changed', 'recently_changed_pure', 'responsive_iframe', 'tablecolumns' und 'viewhtml'.Liste der Ordner / Dateien
simpleplugins_xh
|- config
|- help
|- languages
|- simpleplugins_library
| |- 404
| |- add_qrcode
| |- admin_only
| |- bclock
| |- colorselection
| |- eingliedern
| |- hellomyplugin
| |- mailadoress_hide
| |- make_ruby
| |- no_cookies_text
| |- recently_changed
| |- recently_changed_pure
| |- responsive_iframe
| |- tablecolumns
| |- viewhtml
|- admin.php
|- index.php
|- README.txt
+- Simpleplugins_view.php
Bibliothek Erklärende Hinweise
404
Useage : nur durch das CMS, kein sonstiger Aufruf
Diese Funktion dient ausschließlich dazu die Benutzeranfrage mit einer
nicht existierenden URL auf die URL '/?404' umzuleiten.
Demzufolge muss es eine Seite 404 geben (wird in der Regel als versteckte Seite angelegt). Üblicherweise ist der Inhalt dieser Seite ein mehr oder weniger origineller Text, der die Tatsache kommentiert, dass eine nicht existierende Seite aufgerufen werden sollte. Ausserdem ist meist eine Eingabemaske für eine Website-Interne Suche und ein Link zur Start-Seite und evtl. ein Link zur Sitemap vorhanden.
add_qrcode
Useage : {{{add_qrcode($string[,$size]);}}}
Example : {{{add_qrcode('http://cmsimple-jp.org',80);}}}
Ausgabe des definierten Textes als QR-Code in der festgelegten Größe.
admin_only
Useage : {{{admin_only($string[,$class]);}}}
Example : {{{admin_only('This is Admin Only','xh_warning');}}}
Ausgabe des definierten Textes erfolgt ausschließlich in der Administrator-Ansicht. Der Stil der Ausgabe entspricht der angegebenen Format-Klasse.
bclockMain
Useage : {{{bclockMain()}}}
Dieses Pyton-Script soll die Uhrzeit als Darstellung einer laufenden Analohuhr mit Datumsanzeige ausgeben. Dazu muß auf dem Server Python installiert sein. Das Script kollidiert u. U. im Editor-Modus mit bestimmten Templates!
checkurl (enthalten in responsiv_iframe)
Useage : {{{checkurl($url_string)}}}
Example : {{{checkurl('https://lembach-kr.de/?Home')}}}
Diese Funktion ergänzt eine interne (Teil-) URL (/?seitenname oder ?seitenname) zu einem kompletten Link. Wird eine externe URL übergeben, wird diese nicht modifiziert. Abschließend wird geprüft, ob die Seite erreichbar ist. Ist dies der Fall, wird diese Adresse zurückgegeben. Ist diese Seite nicht erreichbar, wird ein Link auf die /?404 Seite der eigenen Domain zurückgegeben!
colorselection
Useage : {{{colorselection();}}}
Gibt ein Formular aus zur Auswahl der Vordergrund- und Hintergrundfarbe mit jeweiligem Transparenzgrad. Die eingegebenen Werte werden unmittelbar in der Vorschau angezeigt. Die Werte werden als Hexzahlen angezeigt und können so notiert werden für die spätere Verwendung an anderer Stelle. Diese Funktion ist zur Zeit nur als Hilfsmittel bei der Festlegung von Farbkombinationen gedacht.
eingliedern
Useage : {{{eingliedern($string [,$url_string]);}}}
Example : {{{eingliedern('/pfad/datei.htm');}}}
Bindet HTML-Code aus einer auf dem Server befindlichen reinen
HTML-Datei in den Content ein (in der Art von Textbausteinen). Nach
Möglichkeit werden dabei in den <img> - Tags die Links zu den
Grafikdateien angepasst.
Enthält die einzugliedernde Datei die '<?php' - Anweisung bricht
das Plugin mit einer Fehlermeldung ab.
Im Ordner /plugins/simpleplugins_xh/simpleplugins_library/eingliedern/
befindet sich die Test-Datei test.htm. Sie kann direkt durch klicken
dieses Links angezeigt werden: /plugins/simpleplugins_xh/simpleplugins_library/eingliedern/test.htm.
Zur Funktionsüberprüfung binden Sie sie damit in eine Seite ein:
{{{eingliedern('./plugins/simpleplugins_xh/simpleplugins_library/eingliedern/test.htm');}}}
hellomyplugin
Useage : {{{hellomyplugin()}}}
Example : {{{hellomyplugin()}}}
Blind-Funktion gibt hier nur 'Hello My Plugin!' aus. Kann benutzt
werden um eigene Funktionen zu realisieren. Kann auch als Vorlage
benutzt werden.
Instruktionen: Simpleplugins_xh
um eigene Funktionen erweitern (addnew.htm)
mailaddress_hide
Useage : {{{mailaddress_hide($string)}}}
Example : {{{mailaddress_hide('yyy@xxxx.xxx')}}}
Der Funktion wird die E-Mail-Adresse als String übergeben (also 'empfängername@domin-name.tld') und gibt dafür HTML-Code mit einem E-Mail-Link aus. Der resultierende Quellcode enthält keinen Klartext, wird jedoch vom Browser wieder zusammengesetzt. Sie ist daher für moderne und aufwändig programmierte Spider auslesbar. Der Schutz der E-Mail-Adresse ist also nach meiner Meinung nicht absolut.
make_ruby
Useage : {{{make_ruby($string , $rp_string);}}}
Example : {{{make_ruby('Guten Tag','guutn taak');}}}
Die Funktion dient zur Ausgabe der Lautschrift über einem Text. Der erste Parameter ist der String (z.B. 'Guten Tag') der als normaler Fließtext ausgegeben wird. Der zweite Parameter ist der Lautschrift-String (z.B. 'guutn taak') der als kleine Lautschrift über dem ersten Text ausgegeben wird.
no_cookies_text
Usage : {{{no_cookies_text($string_no_cookies, $string_cookies_allowed)}}}Example : {{{no_cookies_text('Bitte erlauben Sie das Setzen von Cookies','Cookies akzeptiert')}}}
Ergänzung zum Plugin Privacy_XH
Ausgabe von Text abhängig davon, ob Cookies zugelassen sind oder
nicht in Privacy_XH.
Der Aufruf der Funktion im Artikeltext erfolgt wie jeder
Funktionsaufruf:
{{{no_cookies_text('Text wenn Cookies abgelehnt sind', 'Text bei
Cookie setzen erlaubt')}}}
Vorsicht mit einfachen Anführungszeichen! (') Sind solche im
auszugebenden Text führt das zu einem schwerwiegenden Fehler, weil der
PHP-Code zerstört wird.
Wenn man ' unbedingt benötigt, dann mit Maskierung angeben: \'
Das scheint in den Tests zu funktionieren.
Formatierungen, die per STYLE-Argumente erzeugt werden, enthalten
möglicherweise einfache Anführungszeichen!
Unbedingt vermeiden!
Wenn eine Formatierung notwendig ist, bei der nicht bekannt ist ob sie
KEINE einfachen Anführungszeichen enthält, dann unbedingt über den
gesamten Funktionsaufruf hinweg.
Also so, dass alle Angaben zur Formatierung außerhalb des
Funktionsaufrufes liegen.
D.h. entweder vor den drei öffnenden geschweiften Klammern {{{ oder
nach den schließenden geschweiften Klammern }}}.
recently_changed
Useage : {{{recently_changed([$count][, $length])}}}
Example : {{{recently_changed(5,80)}}}
Die Funktion gibt eine Link-Liste der n
zuletzt geänderten Seiten aus, wobei die max. Länge des Links auf m
festgelegt werden kann. Dabei ist n der der Funktion übergebene
Parameter für die Anzahl der aufgelisteten Seiten und m die maximale
Länge der Zeichenkette für jeden Link-Listen-Eintrag.
Die Liste wird nach Datum geordnet. Die Listeneinträge mit dem
gleichen Änderungszeitpunkt werden zusammengefasst. Ihnen wird als
Überschrift der Änderungszeitpunkt vorangestellt. Ein
Formatierungsvorschlag ist im Ordner der Funktion enthalten.
Der Default-Wert für n ist 5 und der für m ist 100.
recently_changed_pure
Useage : {{{recently_changed_pure([$count])}}}
Example : {{{recently_changed_pure(5)}}}
Der Default-Wert für n ist 5.
responsive_iframe
Useage : {{{responsive_iframe($url_string[,$background_color, $border_style, $max_width, $min_width, $min_height]); }}}Example : {{{responsive_iframe('/ordner-im-root/zum-script/des/frame.html','#F8F8F8','3px solid #66FF66',640,280,333)}}}
Die ursprüngliche Funktion wurde durch eine allgemeine IFrame-Funktion ersetzt. Als Parameter reicht schon die URL zur Datei, die im iframe angezeigt werden soll, alle anderen sind optional.
Die URL kann sich auch auf eine Adresse im eigenen Server beziehen. Dann sollte sie als vollständige Adresse vom root des CMS aus angegeben werden.
Die Hintergrundfarbe des IFrame (default: #F8F8F8) ist als Hex-Zahl anzugeben (egal ob mit oder ohne #).
Das Styling des Rahmens (default: 1px solid #FFF) muss komplett mit Einheitenbenennung (px oder em) und Typ der Farbfestlegung (#, rgb, rgba, benannte Farbe) angegeben werden. Auch die einschließenden Anführungszeichen nicht vergessen!
Es erfolgt keine Fehlerabfangung! Fehlerhafte Angaben schießen u. U. das Templat ab!
Die max. Breite (default: 1920px) und min. Breite (Mindestwert: 150px) sowie die min. Höhe (Mindestwert: 100px) können, müssen aber nicht angegeben werden.
Die Werte sind in px als reine Zahl anzugeben!
search_after_404
Useage : {{{search_after_404($homesite)}}}
Example : {{{search_after_404("/?Home");}}}
Gibt eine vollständige Seite nicht gefunden Seite aus. Diese beinhaltet eine Überschrift und einen Entschuldigungstext mit möglichen Ursachen. Ebenso je einen Link zur gewählten Home-Seite und dem Inhaltsverzeichnis sowie eine Suchmaske.
tablecolumns
Useage : {{{tablecolumns}}}Example : {{{tablecolumns}}}
Tabellenspalten aus- und wieder einblenden
Oberhalb der Tabelle wird ein Button eingeblendet. Klickt man darauf wird eine Checkbox-Liste mit den Spalten-Headern ein- oder ausgeblendet (Toggelfunktion). Jede Spalte, bei der man den Haken an der Checkbox entfernt wird ausgeblendet. Die Spalte erscheint wieder sobald der Haken wieder gesetzt wird.
Die Tabelle folgt am besten diesem Muster:
<div style="overflow: auto;"><span>{{{tablecolumns}}}</span>
<table class="tablecolumns" style="border-collapse: collapse; width: 100%;" border="1"><caption><strong>Test-Tabelle</strong></caption>
<thead>
<tr>
<th>Header1</th>
<th>Header2</th>
...
<th>Header8</th>
<th>Header9</th>
<th>Header10</th>
</tr>
</thead>
<tbody>
<tr>
<td>Zelle a1</td>
<td> </td>
...
<td> </td>
</tr>
<tr>
<td> </td>
<td>Zelle b2</td>
...
<td> </td>
</tr>
</tbody>
</table>
</div>
Die gesamte Tabelle incl. des Funktionsaufrufs wird optional von einer DIV umschlossen. Deren Style-Definition sorgt dafür, das breite Tabellen nicht aus dem übergeordneten blockbildendem Element herauslaufen.
Die Tabelle muss zwingend einen <thead> - </thead> Bereich mit <th> - </th> Spalten haben. Jede dieser <th> - </th> Spalten muss einen eindeutigen (und nur einmal vorkommenden) Namen haben. Im <table> Tag muss zwingend die Klasse 'tablecolumns' zugewiesen werden: <table class="tablecolumns" ...>.
viewhtml
Useage : {{{viewhtml($url_string); }}}Example : {{{viewhtml('/templates/krl-3col-flex/template.htm');}}}
Wandelt den Inhalt einer Datei so um, dass HTML-Tags und HTML-Entities, sowie der restliche Inhalt als normaler Text zwischen <code> und </code> ausgegeben wird. Somit können Listings von HTML-Dateien im Browser dargestellt werden ohne als HTML wirksam zu werden.