August 2008

Drupal praktisch 2 - E-Mail Validierung

21.08.2008
 von Lukas Fischer
 | 0 Kommentare

Kürzlich hatte ich das Problem, eine E-Mail Adresse von einem Drupal Formular zu validieren. Dieser Codeschnipsel löst die Aufgabe sehr einfach und ist zudem flexibel erweiterbar. Falls der Regex nicht genügt, findet man auf
http://www.txt2re.com weitere Rexex Regeln.

<?php
function FROM_validate($form_id$form_values) {
  if (!
preg_match('([\\w-]+(?:\\.[\\w-]+)*@(?:[\\w-]+\\.)+[a-zA-Z]{2,7})'$form_values['EMAILFIELD'])) {
    
form_set_error(''t('Bitte korrekte E-Mail Adresse angeben.'));
  }
}
?>

Update:

Drupal praktisch 1 - Table Themer

20.08.2008
 von Lukas Fischer
 | 0 Kommentare

Ein typische Anwendung in CMS Administrationen ist das tabellarische Auflisten von Einträge. Das händische programmieren von Tabellen nimmt einem Drupal elegant ab.

<?php
// $nodes ist ein Node-Array
foreach ($nodes as $node) {
        
$rows[] = array('<a href="/node/'.$node->nid.'">'.$node->title.'</a>',
                
'<a href="/node/'.$node->nid.'/edit">Edit</a>');
}
$header = array('Titel''Option');
$output .= theme_table($header$rows);
?>

Zukünftige User Interfaces

18.08.2008
 von Lukas Fischer
 | 0 Kommentare

Drupal Filter manuell ausführen

18.08.2008
 von Lukas Fischer
 | 0 Kommentare

Es gibt immer wieder Situationen bei denen man die Filter Optionen von Drupal manuell ausführen muss. Das ist ganz einfach. Die Magie liegt im File filter.module (http://api.drupal.org/api/file/modules/filter/filter.module/5).

Die wichtigsten Funktionen:

_filter_url($text, $format), macht aus möglichen URLs klickbare Links, $format ist das Input-Filter-Format das beim Textfeld ausgewählt wurde. (1 = Filtered HTML, 2 PHP code, 3 = Full HTML)
_filter_autop($text), macht aus Newlines
's bzw.

's

Beispiel:

Externe Links in neuem Fenster öffnen - einfach mit jquery

18.08.2008
 von Lukas Fischer
 | 0 Kommentare

Der folgende Code einfach in den Headerbereich des HTML Dokumentes kopieren und schon werden alle externen Links mit dem Attribut "_blank" ergänzt. Wichtig, jquery muss included sein. (www.jquery.com)

<?php
$(function() {
$(
'a[@href^=http]').not('[@href*=netnode.ch]').addClass('external-link').click(function()  
    {
        
window.open(this.href'_blank');
        return 
false;
    });
});
?>

Falls die Funktion auch bei Content der via AJAX nachgeladen wird greifen sollte muss man auf den entsprechenden Event hören und die Methode nochmals ausführen.

<?php?>

An anthropological introduction to YouTube (by Michael Welsch)

12.08.2008
 von Lukas Fischer
 | 0 Kommentare