Drupal 7: persönliche Erfahrungen

Nach langer Abstinenz habe ich mich wieder einmal mit Drupal beschäftigt. Zur Experimentierfreudigkeit kam zudem eine aktuelle Aufgabenstellung: Neuorganisation einer kommerziellen Webseite inklusive Auswahl des geeigneten CMS.

Die Aufgabenstellung war relativ einfach: ansprechende Startseite, ein paar Menüpunkte mit einfachen Seiten, mehrere Kontaktformulare mit unterschiedlichen Feldern. Daneben ein paar Seiten, deren Inhalt dynamisch aus anderen Dateien bzw. Inhalten des Dateisystems generiert werden müssen. Dazu noch ein paar Blog-artige Seiten mit Neuerungen in unterschiedlichen Kategorien.

[Mehr]
Drupal 

Drupal 7.x: Autor und Erstellungszeit nicht anzeigen

Man sucht es immer wieder und es ist in den Supportforen eine häufige Frage:

Wie kann der Autor und die Erstellungszeit in Drupal 7.x ausgeblendet werden?

Unter Struktur -> Inhaltstypen -> Article -> Bearbeiten -> Anzeigeeinstellungen kann die Option ausgeschaltet werden.

Drupal Autor und Erstellungszeit ausblenden

Drupal Autor und Erstellungszeit ausblenden

Drupal  OSS 

Test Umstellung auf WordPress 3.2.1

Drupal to WordPress

Schon länger spiele ich mit dem Gedanken, meine Webseite von Drupal auf WordPress umzustellen. Für die wenigen Funktionen der bisherigen Webseite ist Drupal einfach zu umfangreich und damit auch langsamer als eine schlanke WordPress-Installation (ganz abgesehen davon, dass Google langsamere Webseiten schlechter bewertet als schnelle). Nach kurzem Einlesen war festzustellen, dass mit ein paar zusätzlichen WordPress-Plugins alle Funktionen der bisherigen Drupal-Webseite abzubilden sind.

Laut der Installationsanleitung von WordPress sind nur wenige Schritte nötig, um eine lauffähige Basisversion installiert zu bekommen. Ebenfalls ist eine Variante mit bereits eingebauter deutschen Übersetzung verfügbar. Das klang alles sehr gut. Gesagt, getan, ran an die Installation.

[Mehr]

SAM Broadcaster und Drupal 6

Vor längerer Zeit habe ich für meine interne Webseite ein Skript geschrieben, um die Playlist des SAM Broadcasters innerhalb einer Drupal 6 Webseite anzusteuern. Die beiden angehängten Skripte müssen ins Verzeichnis include/ der Drupal-Installation kopiert werden. Die SAM-MySql-Datenbank ist fest verdrahtet und heißt sambc (kann aber leicht ersetzt werden) und liegt auf dem gleichen Host, in der auch die Drupal-Datenbank liegt.

Anschließend erstellt man eine normale Drupal-Seite mit dem Format PHP code und fügt folgenden Code ein:

[Mehr]
Drupal  PHP  SAM 

Module für Drupal 7

Seit kurzem verwendet diese Webseite Drupal 7. In der Grundinstalltion sind schon wesentliche Module zum Betrieb einer einfachen Webseite oder eines Forums enthalten. Um noch mehr Komfort zu ermöglichen oder bestimmte Funktionen nachzurüsten, kann Drupal einfach mit Modulen erweitert werden. Im Folgenden möchte ich ein paar Module vorstellen, die auch auf dieser Webseite eingesetzt werden:

[Mehr]
Drupal 

Blöcke in Drupal 7 nur bei bestimmter Taxonomie anzeigen

Mit Drupal 7 hat sich das Taxonomiemodul grundlegend geändert. Die Beispiele aus dem Web für ältere Drupal-Versionen enden schlimmstenfalls in einer komplett leeren Seite. Dann ist Handarbeit in der Datenbank angesagt.

Hier nun ein funktionierendes Beispiel, wie Blöcke in Drupal 7 anhand eines Taxonomiebegriffs des Nodes angezeigt werden können (einzufügen in den Sichbarkeitseinstellungen des jeweiligen Blocks):

<?php
if ( arg(0) == 'node' && is_numeric(arg(1)) ) {
    $node = node_load(arg(1));
	$items = field_get_items('node', $node, 'field_tags');
	if (is_array($items))
	{
		foreach($items as $term)
		{
			if ($term['tid'] == 7)
			{
				return TRUE;
			}
		}
	}
	return FALSE;
}
?>

Dabei wird davon ausgegangen, dass das Feld field_tags die Taxonomiebegriffe enthält. Im Beispiel wird der Block nur angezeigt, wenn der Node den Taxononomie-Term 7 enthält.

[Mehr]
Drupal  PHP 

MySQL-Tabellen mit Drupal ausgeben

Beispiel der Ausgabe einer MySQL-Tabelle mit den Drupal-Formatierungsfunktionen:

<?php
  $result = db_query("SELECT * FROM {my_table}");
  $output = '';
  $rows = array();
  $header = array('id','Domain','Module');
  $rows = array();
  $i = 0;
  while($row = db_fetch_object($result)){
    $data = array();
    $data[] = $row->sid;
    $data[] = $row->domain;
    $data[] = $row->module;
    $rows[] = $data;
    $i++;
  }
  $output .= theme('table', $header,$rows);
  echo $output;
?>

Zur Anzeige ist einfach der obige Code in eine neue Drupal-Seite einzufügen und als Eingabeformat PHP code auszuwählen. Aber Vorsicht! Der PHP-Code sollte syntaktisch korrekt sein und man sollte wissen, wie man fehlerhaften Code per Hand wieder aus der Drupal-Datenbank bekommt.

[Mehr]