Header image Modul einrichten
Eingetragen von Sense (1548) am 27.06.2010 - 08:49 Uhr in
Dieses Tutorial ist nur für Drupal 6 ausgelegt, für D7 lest bitte die README-Datei des Moduls. Dort habe ich alles beschrieben.
Folgende Module werden benötigt:
Installation / Einrichtung:
- Installation der Module unter "admin/build/modules"
- Unter "admin/user/permissions" die entsprechenden Berechtigungen für die Module setzen
- Unter Inhaltstypen "admin/content/types" einen neuen Inhaltstypen mit Namen "Header image" als Typ "headerimage" anlegen. Danach wird der neue Inhaltstyp in der Übersicht angezeigt.
- Hier nun hinter dem Inhaltstypen "Header image" auf "Felder verwalten" klicken.
- Im unteren Bereich bei "Neues Feld" folgende Daten eingeben / auswählen:
- Bezeichnung: Header image
- Feldname: headerimage
- Feldtyp: File
- Steuerelement: Bild
- Unter den folgenden Einstellungen können diverse Optionen aktiviert werden, die selbsterklärend sein dürften.
Unten den Pfadeinstellungen würde ich noch "headerimage" eingeben, dieses bewirkt, dass die hochgeladenen Datei im Datei-Verzeichnis im Unterordner "headerimage" abgelegt werden. - Unter den "Globalen Einstellungen" sollte nun "Erforderlich" markiert werden und die "Anzahl der Werte" auf "1" gestellt werden.
- Nun zu den Einstellungen des Header image Moduls, die unter "admin/settings/headerimage" gefunden werden können.
- Zum Tab "Einstellungen" wechseln und hier unter "Node type" den gerade angelegten Inhaltstypen "Header image" markieren
- Unter "Condition types" können nun die Kriterien ausgewählt werden, mit denen die Anzeige der Header images bestimmt werden soll. Hier sollte "URL" und "Node ID" markiert werden.
- URL: Der Pfad zur Node, Taxonomy, View, ...
- Node ID: Die entsprechende ID des Beitrags
- Nun wieder zurück zur Übersichtsseite "admin/settings/headerimage" (Klick auf "Alle anzeigen")
- Unter "Add Header Image block" einen neuen Block mit dem Blocktitel "Header image" anlegen
- Nun auf "Einstellen" klicken und auf "Block speichern" klicken, danach gelangt man in die Drupal Block Ansicht.
Hier den Block "Header image" in den entsprechenden Bereich verschieben und das Ganze erneut speichern - Nun muss noch der entsprechende Inhalt angelegt werden, der nachher im Block zu sehen ist.
Dazu legt man einen neuen Inhalt vom Typ "Header image" an und vergibt einen Titel und uploaded das entsprechende Bild. - Unter "Display conditions" kann nun eingestellt werden, wo der Inhalt mit welcher Gewichtung angezeigt werden soll.
Hinweis: Hier sollten WYSIWYG Editoren deaktiviert werden!- Bei "Node ID Conditions" können alle Node IDs durch Komma getrennt eingegeben werden.
- Das "URL Condition" Feld funktioniert genauso wie die Drupal Block Verwaltung zum Anzeigen der Blöcke
- Möchte man, dass dieses Header image als Standard hinterlegt ist und keinem speziellen Bereich zugewiesen ist vergibt man folgende Werte:
- Condition weight: -10
- Node ID condition: leer lassen
- URL Condition: *
- Anhand der "Condition weight" ist es nun möglich das Standard Bild zu überschreiben.
- Nach Speichern der Node wird das Bild im entsprechenden Block angezeigt.
- Da hier die Standard CCK Darstellung verwendet wird, muss die "headerimage-block.tpl.php" aus dem Modul "Header image" in den Themes Ordner kopiert werden. Danach die "template.php" im Theme Verzeichnis öffnen (sollte sie nicht bestehen einfach die Datei anlegen) und folgenden Code einfügen ("themename" muss hier durch den verwendeten Themenamen ersetzt werden, z.B. "garland"):
- Anschließend die kopierte "headerimage-block.tpl.php" öffnen und die Variable "$content" durch "$headerimage" ersetzen.
- Zum Abschluss unter "admin/settings/performance" noch den "Cache leeren"
<?php
/**
* Process variables to format the headerimage block.
*
* $variables contains:
* - $node
* - $teaser: TRUE = display node as teaser; FALSE = display full node
*
* @see headerimage-block.tpl.php
*/
function themename_preprocess_headerimage_block(&$variables) {
$node = $variables['node'];
$teaser = $variables['teaser'];
$variables['unpublished'] = !$node->status;
if ($teaser && isset($node->teaser)) {
$variables['content'] = $node->teaser;
}
else {
$variables['content'] = $node->body;
}
$variables['headerimage'] = theme('image', $node->field_headerimage[0]['filepath']);
}
?>
Neue Kommentare
vor 5 Stunden 48 Minuten
vor 8 Stunden 13 Minuten
vor 12 Stunden 2 Minuten
vor 1 Tag 49 Minuten
vor 1 Tag 2 Stunden
vor 1 Tag 12 Stunden
vor 2 Tagen 52 Minuten
vor 2 Tagen 3 Stunden
vor 2 Tagen 3 Stunden
vor 2 Tagen 2 Stunden