header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Sie sind hier: Startseite > AddOn für Plugin Privacy_XH
Letzte Bearbeitung:

AddOn für Plugin Provacy_XH

Textausgabe in Abhängigkeit von der Variablen privacy_agreed()

Hintergrund

Möchte man auf einer Seite Text ausgeben, der sich ändert, je nachdem ob das Setzen von Cookies schon akzeptiert wurde oder noch nicht, kann dies alleine mit dem Plugin Privacy_XH nicht realisiert werden.

Lösung

Das Plugin setzt die globale Variable privacy_agreed() auf "false" solange dem Setzen von Cookies noch nicht zugestimmt wurde. Sobald das Setzen von Cookies akzeptiert wurde, wird die Variable auf "true" gesetzt.

Diese Variable kann in einem Script ausgelesen werden und abhängig von deren Wert entweder der eine oder andere Text ausgegeben werden.

Der einfachste Weg dies zu realisieren ist eine entsprechende Funktion in der Datei userfuncs.php im Ordner /cmsimple/ einzufügen.

Diese Funktion könnte so aussehen (Hinweis: Der Code unten enthält nicht sichtbare Zeichen! *]):

function no_cookies_text($string_no, $yes_string)
{
// 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 Anführungszeichen! Sind solche im auszugebenden Text führt das zu einem
// schwerwiegenden Fehler, weil der PHP-Code zerstört wird.
// Formatierungen, die per STYLE-Argumente erzeugt werden, enthalten Anführungszeichen!
// Unbedingt vermeiden!
// Wenn eine Formatierung notwendig ist, 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.}

if (!privacy_agreed())
{
 return $string_no;
}
else
{
 return $yes_string;
}

}

Aufruf *]:

{­{{no_cookies_text('Text wenn Cookies abgelehnt sind', 'Text bei Cookie setzen erlaubt')}}}

*] Wenn der Code durch Copy-and-Paste übernommen werden soll, muss er zuerst in einem reinen ASCI-Editor (Windows Editor) eingefügt und wieder kopiert werden, um die unsichtbaren Zeichen zu entfernen.

Lösung als Erweiterung des Plugin SimplePlugins_xh

Download hier

Das Plugin SimplePlugins_xh bietet die Basis sehr einfach eigene Funktionen zu definieren, ohne in der Datei userfuncs.php Änderungen vorzunehmen. Geht was in der userfuncs.php schief, stürzt unter Umständen das gesamte CMS ab. Dann muss man per FTP-Client erst wieder eine funktionierende Version der userfuncs.php hochladen.

Diese Gefahr ist beim Plugin SimplePlugins_xh erheblich kleiner. In aller Regel ist nur die Seite betroffen, in der die eigene Funktion ausgeführt wird. Also nicht im Back-End! Man kann also i. d. R. einfach durch Auskommentieren  des Funktionsaufrufes (einfügen eines Leerzeichens zwischen die öffnenden geschweiften Klammern des Funktionsaufrufes) den Fehler 'abschalten'.

Geht wirklich was katastrophal schief, dann ist es einfach das gesamte Plugin (bis zur Korrektur des Fehlers) abzuschalten. Einfach per FTP-Client im Verzeichnis /cmsimple/plugins/ den Ordner simpleplugins_xh in .simpleplugins_xh umbenennen.

Aus diesem Grunde ist es eine gute Idee dieses Plugin zu verwenden, um neue Funktionen im CMSimple_XH einzubauen, wenn man nicht gleich ein komplettes neues Plugin schreiben will oder kann.

Die oben verlinkte Version von SimplePlugins_xh habe ich um eine ausführlichere Hilfeseite erweitert, mit einer dort verlinkten 2. Hilfeseite, die erklären soll, wie man eine eigene Funktion einbauen kann.

SimplePlugin_XH Library Helpfile **]

Im linken Menü lautet der letzte Punkt "Simpleplugins_xh um eine eigene Funktion erweitern (addnew.htm)" der mit der Datei addnew.htm verlinkt ist.

In dieser addnew.htm habe ich als Beispiel die Erstellung der Funktion {­­{{no_cookies_text('Text wenn Cookies abgelehnt sind', 'Text bei Cookie setzen erlaubt')}}} beschrieben. Daher verzichte ich darauf, dies an dieser Stelle erneut zu tun.

**] Da ich keinen 'Google AdSense Code' und 'Google Map API Key' habe und auch nicht nur für die Überprüfung der Funktionen von SimplePlugins_xh extra erstellen wollte, konnte ich folgenden Funktionen nicht testen: g_adsense, responsive_iframe, simple_google_map, simple_google_map2.
Die folgenden Funktionen habe ich nicht zum Laufen gebracht: bclock, browser-shots
Bei 2 der Funktionen zur Verschleierung der E-Mail-Adressen kann ich nicht nachvollziehen, dass die E-Mail-Adresse in irgend einer Weise vor Spidern versteckt wird: mailaddress_hide, mailaddress_hide_js2

Daher habe ich in der help.htm entsprechende Hinweise eingefügt.

Ich habe eine Bitte:

Wenn jemand mir erklären kann, wie man die Funktionen, von denen ich glaube, dass sie nicht mehr funktionieren, zum Laufen bringen kann, dann soll er doch bitte mir einen entsprechenden Hinweis zu kommen lassen: Kontaktformular

Wenn jemand einen 'Google AdSense Code' und/oder 'Google Map API Key' hat, könnte er dann bitte die Funktionen g_adsense, responsive_iframe, simple_google_map, simple_google_map2 testen und mir Bescheid geben?
Kontaktformular

Wenn jemand einen Fehler findet (und wenn es 'nur' ein Tippfehler ist) soll er mich bitte informieren!
Kontaktformular


Bildquellen

Slideshowbilder von https://www.cmsimple-xh.org/


Seitenanfang |  - - - By CrazyStat - - -

Please activate JavaScript in your browser.

» Sitemap