Suche Modul um das Header Bild in der CSS Datei zu ändern.
Eingetragen von tegou (11)
am 05.01.2009 - 10:03 Uhr in
am 05.01.2009 - 10:03 Uhr in
Hallo, wie oben geschrieben suche ich ein Modul, um auf jeder Unterseite ein anderes Headerbild anzeigen zu lassen.
Das Problem ist, dass das header Bild in eier CSS Datei angegeben ist.
#header h2 {
float: right;
width: 494px;
height: 34px;
padding: 73px 20px 0 0;
background: url(images/img06.jpg) no-repeat;
text-transform: lowercase;
text-align: right;
letter-spacing: -1px;
font-size: 22px;
color: #FFFFFF;
}
Ich habe das Modul "headerimage" gefunden aber soweit ich das verstanden habe ändert dieses Modul das header Bild mit Blöcken.
- Anmelden oder Registrieren um Kommentare zu schreiben
Header image
am 05.01.2009 - 11:00 Uhr
Moin!
Das Modul (und der einfachste Weg) dafür ist Header image. Andere Lösungsmöglichkeiten sind auf dieser Seite aufgeführt.
Falls Du die Bilder in einer CSS-Datei angeben willst, musst Du dem Header-Bereich auf jeder Seite, die ein eigenes Bild bekommen soll, eine spezielle Klasse mitgeben (die Du aus irgendwelchen Parametern — z.B. der URL — ermittelst).
<div id="header" class="header-001">...</div>
<div id="header" class="header-002">...</div>
<div id="header" class="header-003">...</div>
und dann in der CSS-Datei
#header.header-001 h2 {background-image: url(image/header_001.png);}
#header.header-002 h2 {background-image: url(image/header_002.png);}
#header.header-003 h2 {background-image: url(image/header_003.png);}
So in der Art jedenfalls.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hi, kann ich denn mit dem
am 05.01.2009 - 11:38 Uhr
Hi, kann ich denn mit dem modul "Header image" diese verschiedenen div ´s angeben ? oder wie meinst du das mit "musst Du dem Header-Bereich auf jeder Seite, die ein eigenes Bild bekommen soll," weil auf der content seite kann ich ja nicht den header angeben, der ist ja in page.tpl.php angeben.
<div id="header">
<?php if ($site_name) { ?><h1 class='site-name'><a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><?php print $site_name ?></a></h1><?php } ?>
<h2 class='site-slogan'><?php if ($site_slogan) { print $site_slogan; } ?></h2>
</div>
das layout was ich benutze ist greenhouse
Header image
am 05.01.2009 - 12:05 Uhr
Bei dem Modul "Header image" hast Du (soweit ich mich erinnere) einen Block, den Du im Header-bereich platzierst. In diesem Block werden dann entsprechend Deiner Konfiguration die verschiedene Bilder angezeigt.
Solltest Du das modul nicht verwenden wollen, kannst Du in der page.tpl.php dem div eine Klasse hinzufügen.
Hier mal ein etwas ausführlicheres Beispiel:
page.tpl.php
<div id="header" class="<?php print greenhouse_get_header_class(); ?>">...</div>
template.php
function greenhouse_get_header_class() {
$class = '';
if (arg(0) == 'node') {
$class .= 'node';
if (is_numeric(arg(1))) {
$class .= ' node-' . arg(1); // e.g. "node-1"
}
return $class;
}
else {
// path specific classes
if (arg(0) == 'impressum') {
return 'page-impressum';
}
elseif (arg(0) == 'dingens') {
return 'irgendwasanderes';
}
}
return '':
}
style.css
#header h2 {
float: right;
width: 494px;
height: 34px;
padding: 73px 20px 0 0;
background: url(images/img06.jpg) no-repeat;
text-transform: lowercase;
text-align: right;
letter-spacing: -1px;
font-size: 22px;
color: #FFFFFF;
}
#header.node h2 {background-image: url(images/BildFuerNode.png); }
#header.node-1 h2 {background-image: url(images/BildFuerNode1.png); }
#header.node-2 h2 {background-image: url(images/BildFuerNode2.png); }
#header.node-7 h2 {background-image: url(images/BildFuerNode7.png); }
#header.impressum h2 {background-image: url(images/BildFuerImpressum.png); }
Damit wird jetzt für die jeweiligen Nodes/Pfade das entsprechende Bild angezeigt. Vorteil dieser Variante ist, dass Du bei allen Nodes, für die kein spezielles Bild definiert ist (im css),
images/BildFuerNode.png
verwendet wird, da dasdiv
-Element die Klassenode node-1
bekommt.Das Ganze kann man jetzt noch ausweiten, indem man ein Array anlegt, in dem Pfade und Klassen gemappt werden.
<?php
$mapping = array(
'node/add' => 'node-add',
'node/add/story' => 'node-add-story',
'tracker' => '',
);
if (isset($mapping[$_GET['q']])) {
return $mapping[$_GET['q']];
}
?>
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.