Für jeden Menüpunkt ein eigenes Seitenhintergrundbild
Eingetragen von wrestler (216)
am 05.02.2013 - 20:55 Uhr in
am 05.02.2013 - 20:55 Uhr in
Hallo allerseits
Wenn ich auf einen Menüpunkt wie zb. «About» soll ein individuelles Backgroundimage geladet werden.
Gibt es ein Modul dazu oder einen ander Lösungsweg?
Danke im Voraus!
Euer Wrestler
- Anmelden oder Registrieren um Kommentare zu schreiben
Da hilft dir das Modul
am 05.02.2013 - 21:02 Uhr
Da hilft dir das Modul themekey
lg leda
"Du liebst es, Du brauchst es oder Du gibst es weg"
www.leda.ch
kann man auch einfach mit
am 06.02.2013 - 05:47 Uhr
kann man auch einfach mit blöcken machen die man den menüpunkten zuordnet.
die blöcke natürllich in einer passenden region mit css positionieren
C.A.W. Webdesign
leda@drupal.org schrieb Da
am 06.02.2013 - 09:47 Uhr
Da hilft dir das Modul themekey
Vielen Dank. Habs mal installiert und festgestellt, dass es komplex ist. Bei den Beispielen gehts um einen Theme-Wechsel.
Wie kann ich aber nur das Backgroundimage ändern?
Gruss
The Wrestler
Guck Dir mal das Modul Header
am 06.02.2013 - 10:22 Uhr
Guck Dir mal das Modul Header image an, vielleicht entspricht das mehr deinen Anforderungen. Die Bilder lassen sich dann auch auf die unteren Ebenen vererben.
sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.
Du kannst von einem Theme
am 06.02.2013 - 10:19 Uhr
Du kannst von einem Theme Ableitungen erstellen mit Hilfe des Keys "base theme =" im .info-File. Mehr als diesen .info-File in einem entsprechenden Ordner braucht man nicht für ein eigenen Theme. Nun fügst Du noch einen CSS-File über die neue .info-Datei hinzu. In diesem CSS-File gibst Du dem body-Tag ein anderes Hintergrund-Bild. Damit hast Du relativ einfach ein weiteres Theme erstellt, daß sich durch den Namen und das Hintergrund-Bild vom normalen Theme unterscheidet. Mit Themekey kannst Du jetzt zwischen diesen Themes wechseln.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
ohne Modul mit template.php
am 06.02.2013 - 10:59 Uhr
ohne Modul mit template.php würde es ungefähr so gehen:
function theme_preprocess_page(&$variables) {
if (isset($menu_trail['1'])){
$variables['section_class'] = str_replace(' ','',$menu_trail['1']['title']);
$letters=array("ä"=>"ae","ü"=>"u","ö"=>"o","Ä"=>"A","Ü"=>"U","Ö"=>"O","ß"=>"ss","/"=>"_",","=>"_",";"=>"_");
foreach($letters as $old => $new) {
$variables['section_class'] = eregi_replace($old,$new,$variables['section_class']);
}
} else {
$variables['section_class'] = 'no-section';
}
}
Der "oberste" Menüpunkt kann nun als eigen Klasse gesetzt werden.
Im Index des $menu_trail['x'] sprichst Du die ID des Menüs an
Die Variable $section_class kannst Du dann als Klasse im Body der Page einfügen - eleganter wäre noch hier was mir drupal_add_css zu machen.
Die Funktion ist schon ein bisschen älter: ich habe noch eregi_replace() benutzt, ab PHP 5.3.5 musst Du dafür preg_replace() benützen.
Don't code today what you can't debug tomorrow
Ariya Hidayat
Es ist genau so, wie Werner
am 06.02.2013 - 11:19 Uhr
Es ist genau so, wie Werner es gesagt hat.
Das Modul ist tatsächlich ziemlich mächtig. Aber es lohnt sich, da reinzuschauen, vielleicht will man irgendwann nicht nur
das Headerbild austauschen, sondern da und dort noch Farben, Schriften, was auch immer.
Das kann man dann ziemlich easy über das Subtheme machen. Und "wann" ein Theme gewechselt wird, kann man ebenfalls
bequem einstellen.
lg leda
"Du liebst es, Du brauchst es oder Du gibst es weg"
www.leda.ch
Vielen Dank für die vielen
am 06.02.2013 - 13:43 Uhr
Vielen Dank für die vielen Infos! Leider habe ich inzwischen den Überblick verloren.
Es ist auch oft die Rede von Header-Bildern. Reden wir vom gleichen?
Ich möchte, je nach Menüpunkt (Über mich, Kontakt, Home usw.) ein anderes, individuelles Seitenhintergrundbild (background-image) laden lassen.
Gibt es keinen einfacheren Weg? Ich kenne mich mit PHP nicht gut aus und die Anleitung zu den vorgeschlagenen Modulen scheinen mir auch recht kompliziert.
Gruss
The Wrestler
caw schrieb kann man auch
am 06.02.2013 - 13:45 Uhr
kann man auch einfach mit blöcken machen die man den menüpunkten zuordnet.
die blöcke natürllich in einer passenden region mit css positionieren
Wie genau sollte ich da genau vorgehen?
Es gibt im Omega-Theme ja keine Region, die für den ganzen Hintergrund «abdeckt»…
Gruss
The Wrestler
im omga mußt du dann eine
am 06.02.2013 - 14:12 Uhr
im omga mußt du dann eine neue region anlegen. war glaube ich etwas kompizerter. habe eine page.tpl.php erstellt und dort eine neue region.
<?php
/**
* @file
* Alpha's theme implementation to display a single Drupal page.
*/
?>
<?php /*
$site_node = node_load(arg(0));
// if ((arg(0) == 'node')) print "node";
//print $node->field_video['und'][0]['filename'];
$query = new EntityFieldQuery();
$entities = $query->entityCondition('entity_type', 'node')
->propertyCondition('type', 'product')
/* ->propertyCondition('title', 'your node title')
->propertyCondition('status', 1)
->range(0,1)*/
/* ->execute();
if (!empty($entities['node'])) {
$site_node = node_load(array_shift(array_keys($entities['node'])));
print $site_node->field_video['und'][0]['filename'];
}*/
?>
<?php
// $nid = 4; // NOTE :: Hard coded, but need to be variable!!
// print drupal_render(node_view(node_load($nid)));
?>
<div id="backgroundimage"><?php print render($page['background']); ?></div>
<div<?php print $attributes; ?> style="">
<?php if (isset($page['header'])) : ?>
<?php print render($page['header']); ?>
<?php endif; ?>
<?php if (isset($page['content'])) : ?>
<?php print render($page['highlighted']); ?>
<?php print render($page['content']); ?>
<?php endif; ?>
<?php if (isset($page['footer'])) : ?>
<?php print render($page['footer']); ?>
<?php endif; ?>
</div>
außerhalb des wrappers. diese dann abosult positionieren mit css.
C.A.W. Webdesign