Vor einiger Zeit hatte ich das Captcha-Modul wegen Problemen in diesem Blog deaktiviert und wollte stattdessen ganz auf die Vorschaufunktion und die Freigabewarteschlange von Drupal 6 setzen. Mehr Kommentare habe ich dadurch jedoch trotzdem nicht bekommen (nur etliche Spam-Nachrichten). Darum habe ich mich heute erneut mit der Problematik beschäftigt.
Das Problem
Gegen die mangelnde Bereitschaft viele Besucher einen Kommentar zu hinterlassen, kann ich leider nicht viel machen. Der einzige sinnvolle Ansatz wäre eine Möglichkeit einfach nur zu bewerten. Caschy hat da in seinem Blog zunächst mit einem Sterne-System experimentiert und nutzt nun die neuen Features von Facebook. Ich mag die Datenkrake Facebook jedoch nicht und somit werde ich wohl weiterhin auf ein virtuelles Schulterklopfen in Form von Kommentaren hoffen.
Das wesentlich wichtigere Problem ist jedoch, möglichst viel Kommentar-Spam zu vermeiden und trotzdem ein relativ einfach zu bedienendes System anzubieten.
Die Recherche
Fest stand von Anfang an, daß ich dem CAPTCHA-Modul (die aktuellere V2.1) eine weitere Chance geben wollte. Dieses Mal wollte ich jedoch ganz auf die Vorschaufunktion verzichten. Dies ist jedoch leider von Drupal nicht wirklich vorgesehen, da man die Funktion nur auf optional stellen und nicht komplett deaktivieren kann.
Mittels Big G fand ich relativ schnell einen entsprechenden Beitrag auf drupal.org. Die dortigen Lösungen fand ich jedoch entweder nicht wirklich prickelnd (CSS/Core-Hack) oder sie funktionierten bei mir nicht (template.php).
Da die letzte Variante mit der Theme-Anpassung mir jedoch zusagte, recherchierte ich noch etwas weiter und wurde mit einer englischen Anleitung von Tom zum Theming des Kommentarformulars erneut fündig.
Die Lösung
In der template.php Eures Themes müssen zwei Funktionen ergänzt werden.
function mytheme_theme() {
return array(
'comment_form' => array(
'arguments' => array('form' => NULL)
)
);
}
Diese Funktion ergänzt eine Möglichkeit das Kommentarformular mittels Theming zu beeinflussen.
function mytheme_comment_form($form) {
unset($form['preview']);
return drupal_render($form);
}
Diese Funktion entfernt den Vorschau-Button und lässt das Formular ansonsten unverändert.
Hinweis: Bei beiden Funktionen muss das "mytheme" im Namen natürlich gegen den Namen Eures Themes ausgetauscht werden.



Kommentar hinzufügen