Seite auswählen

Drupal Datenbankfehler: Invalid argument and implode()

So, nun konnte ich noch kurz vor dem Jahreswechsel ein Problem erfolgreich lösen 🙂 . Da ich erstmal stark mit der Einrichtung von Drupal und dem Import der alten WordPress Blogbeiträge beschäftig war, habe ich mich zunächst um eine immer wiederkehrende Fehlermeldung nicht gekümmert.

Ich kann neue Inhalte problemlos erzeugen, aber jedes Mal, wenn ein bereits veröffentlicher Beitrag editiert, kommentiert oder der Kommentar editiert wird, erscheint folgende Fehlermeldung in einem rot hinterlegten Kasten über dem Beitragstext: (mehr …)

Drupal Kommentare: Das „(nicht überprüft)“ entfernen

In den meisten Blogs kann man als Besucher auch ohne Anmeldung kommentieren. Das lässt sich auch in Drupal einstellen. Leider wird dann automatisch hinter dem Namen eines jeden nicht registrierten Besuchers der Zusatz „(nicht überprüft)“ angezeigt. Dies erscheint sogar in der Liste der letzten Kommentatoren in der Sidebar. Das sieht weder schön aus, noch erscheint es anderweitig sinnvoll …. also weg damit.

Leider gibt es dafür in der Drupal Administration keinen Schalter. Man muss in das Theme eingreifen. Nach kurzer Suche fand ich folgende Lösung:

In die template.php des genutzten Themes fügt man folgenden Code ein


uid && $object->name) {
// Shorten the name when it is too long or it will break many tables.
if (drupal_strlen($object->name) > 20) {
$name = drupal_substr($object->name, 0, 15) .'...';
}
else {
$name = $object->name;
}

if (user_access('access user profiles')) {
$output = l($name, 'user/'. $object->uid, array('title' => t('View user profile.')));
}
else {
$output = check_plain($name);
}
}
else if ($object->name) {
// Sometimes modules display content composed by people who are
// not registered members of the site (e.g. mailing list or news
// aggregator modules). This clause enables modules to display
// the true author of the content.
if ($object->homepage) {
$output = l($object->name, $object->homepage);
}
else {
$output = check_plain($object->name);
}

//$output .= ' ('. t('not verified') .')';
}
else {
$output = variable_get('anonymous', t('Anonymous'));
}

return $output;
}
?>

Das wirkt auf den ersten Blick recht umständlich, ist aber die empfehlenswerteste Vorgehensweise bei solchen Veränderungen. Es bedeutet nichts anderes als das die drupalinterne username Funktion mit der o.g. überschrieben wird. Einziger Unterschied zur originalen Version ist das auskommentierte

$output .= ' ('. t('not verified') .')';.

Warum nicht gleich die originale username Funktion verändern anstatt diese überschreiben zu lassen? Weil man

  1. nach Möglichkeit die Core Daten im Originalzustand belassen sollte, um einerseits später schwer aufzufindende Probleme zu vermeiden und
  2. es ein Update von Drupal leichter macht, weil man nicht nach jedem Update diese Änderung erneut vornehmen muss.

Hinweis für Nutzer des YAML für Drupal Themes: Falls man ein Subtheme nutzt, so muss diese Änderung in die template.php im Ordner für das Subtheme eingetragen werden, sonst funktioniert es nicht.

(via Matt Farina)

Drupal: Probleme mit der Weiterleitung

Umleitung: testIch möchte demnächst alle früheren Beiträge von meiner alten Drupalinstallation unter nsah.de und aus meinem alten WordPress-Blog unter nsah.de hier veröffentlichen. Damit Suchmaschinen und Besucher nicht im Leeren landen will ich diese auf die entsprechenden Seiten in meinem neuen Blog umleiten.

Falls man von einer Drupal Installation aus weiterleiten will, so ist dies auch mittels des Path Redirect Moduls möglich (Danke für den Hinweis Steffen). Hier können nicht nur interne sondern auch externe Weiterleitungen eingerichtet werden. Aber aufgepasst: die Weiterleitung tritt erst in Kraft, wenn unter der ursprünglichen URL keine Inhalte verfügbar sind. D.h. dass der alte Beitrag in der alten Drupalinstallation gelöscht werden muss, sonst wird das Path Redirect Modul nicht aktiv.

Da ich unabhängig von Modulen umleiten will, so dass ich ggf. auch das alte CMS komplett löschen kann ohne die Weiterleitungen zu verlieren und ich zusätzlich Beiträge aus meinem alten WordPress Blog in diesen Blog umziehen lassen will, kommt für mich nur eine Lösung über die .htaccess Datei in Frage. (mehr …)

… jetzt geht es los … mit der Arbeit

Ich bin erstaunlicherweise wirklich etwas aufgeregt. In einem Gespräch mit Frank fasste ich den Entschluss im Zuge meines geplanten Umstieges von WordPress auf Drupal gleich unter einer neuen Domain neu zu starten. Die Adresse sollte etwas eingängiger, handlicher und aussagekräftiger sein als die bisherige(n) "nsah.de" oder "nsah.de".

Glücklicherweise ist Frank ein echter Ideengoldesel was Domainnamen betrifft (blogwiese.de, artikelei.de, etc.), so dass ich mich nach einem kurzen Brainstorming schnell für die Domain nsah.de entschied. Diese habe ich sofort um 15:30 Uhr registriert. Anschließend vertrieb ich mir die Wartezeit mit dem Upload aller benötigter Dateien und zusätzlichen Module bis es gegen 20:30 Uhr endlich soweit war, dass ich auf die Domain zugreifen konnte. Bisher ist nur das nötigste installiert und konfiguriert.

Die nächsten Tage werde ich wohl alle Hände voll zu tun haben, um Drupal zumindest einigermaßen für meine Zwecke passend einzurichten!

(mehr …)