E-Mail-Verschleierung in Modulen - Joomla! E-Mail-Cloaking

Geschrieben von Alexander Schmidt am Donnerstag, den 25. November 2010, ohne Kommentar

Per Standard verschleiert Joomla! alle E-Mail-Adressen in den Artikeln, um sie vor Spam zu schützen. So werden automatische Suchroboter ferngehalten und man erhält keine unerwünschte Werbung an die Adresse. Mit einem eigenen Modul-Chrome passiert das nicht nur in den Artikeln, sondern auch in Modulen.

joomlaemailverschleierung

Eigenes Modul-Chrome definieren

Das eigene Modul-Chrome definierst Du in der Datei modules.php im Ordner html des Template-Verzeichnis, also z. B. unter

templates/EIGENESTEMPLATE/html/modules.php.

Wenn diese Datei nicht existiert, einfach erstellen und folgenden Code hineinschreiben.

<?php
defined('_JEXEC') or die('Restricted access');
?>

Damit wird verhindert, dass die Datei direkt aufgerufen wird. Darunter folgt die Funktion für das eigene Modul-Chrome.

function modChrome_mailsec($module, &$params, &$attribs) { ?>
    <div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">
       <?php if ($module->showtitle != 0) : ?>
          <h3><?php echo $module->title; ?></h3>
       <?php endif;
       $module->content = JHTML::_('content.prepare', $module->content);
       echo $module->content; ?>
    </div>
   <?php
}

Die Funktion modChrome_mailsec (der Suffix mailsec ist frei gewählt) rendert das Modul ähnlich wie das Chrome xhtml. Es packt den Inhalt in ein div-Tag der Klasse moduletable. Je nachdem, ob ein Modul-Klassen-Suffix mitgegeben wird, wird der Name der Klasse um diesen erweitert. Das passiert aber nur, wenn die drei Variablen $module, &$params, &$attribs der Funktion mitgegeben werden. Was folgt ist die Abfrage, ob im Modul „Titel anzeigen“ auf „Ja“ gestellt ist. Ist dem so, wird er in ein h3-Tag gepackt und als Überschrift ausgegeben. Jetzt kommt die Zeile die veranlasst, dass E-Mail-Adressen verschleiert werden.

$module->content = JHTML::_('content.prepare', $module->content);

Danach wird der Inhalt mit der verschleierten E-Mail-Adresse ausgegeben.

Die E-Mail-Verschleierung anweden

Um das Modul-Chrome anzuweden, wird es der jdoc-Anweisung als style mitgeben. Das geschieht in der index.php des Templates.

<jdoc:include type="modules" name="left" style="mailsec" />

Stünde in der Zeile z. B. xhtml als style, kann es durch Dein eigenes mailsec ersetzte werden. Abspeichern, fertig. Ab sofort werden E-Mail-Adressen auch in Modulen verschleiert.

Weiterer Artikel zur E-Mail-Verschleierung siehe Galileo Computing :: Joomla! – 7.2 Mambots.

Kommentare (0)

Bitte Kommentar schreiben

Sie kommentieren als Gast.

Jumlabros Managed Joomla Quadratisch

Alle Beiträge

Copyright © 2013
„Bloggerschmidt“
Alexander Schmidt