PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zusätzliche region im header für Grafik oder Block



Micha1111
10.01.2008, 12:01
Ich verwende das yaml-3-Spalten-Layout, alles klappt auch prima.
Nun ist es aber so, dass ich im Header auf der rechten Seite (also neben Logo und Seietentitel) sehr Platz "verschwende", d.h. zwischen der secondary-Navigation und der horizontalen primary-Navigation ist eine recht große freie Fläche.
Nun habe ich mir gedacht, dort entweder eine weitere Grafik, oder vielleicht sogar einen Block, in dem ich eine flexible Top-News anzeigen lasse, unterzubringen.
Ist das möglich ? Wenn ja wie ?

Spartacus
10.01.2008, 15:08
Schau mal hier http://www.drupalcenter.de/handbuch/4616 , vergiss nicht die Region dann im Header reinzumachen und mit css zugestalten! :D

Micha1111
10.01.2008, 17:01
Wenn ich das richtig verstanden habe, muss ich folgende Änderungen durchführen:

Eintrag in der template.php:
function yaml_3col_standard_regions() {
return array(
'left' => t('left sidebar'),
'right' => t('right sidebar'),
'content' => t('content'),
'header' => t('header'),
'footer' => t('footer'),
'headerbox' => t('headerbox'),
);
}

Eintrag in der page.tpl.php:
<div id="header" class="clearfix">
<div id="topnav">
<a class="skip" href="#navigation" title="<?php print t('Skip to the navigation') ?>"><?php print t('Skip to the navigation') ?></a><span class="hideme">.</span>
<a class="skip" href="#content" title="<?php print t('Skip to the content') ?>"><?php print t('Skip to the content') ?></a><span class="hideme">.</span>
<?php if (isset($secondary_links)) { ?><span><?php print theme('links_secondary', $secondary_links) ?></span><?php } ?>
</div>
<?php print $header ?>
<?php if ($logo) { ?><a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><img id="site-logo" class="_trans" src="<?php print $logo ?>" alt="<?php print t('Home') ?>" /></a><?php } ?>
<?php if ($site_name) { ?><h1 id="site-name"><a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><?php print $site_name ?></a></h1><?php } ?>
<?php if ($site_slogan) { ?><div id="site-slogan"><?php print $site_slogan ?></div><?php } ?>
<?php print $headerbox ?>
<?php print $search_box ?>
</div>
Eintrag in der basemod.css:
#headerbox {
background: #333;
??????
}
Eintrag in der basmod_drupal.css:
#headerbox {
height: 85px;
??????
clear: left; /* Float Bugfix for Opera */
}

Wenn ich das so mache, erscheint der Inhalt der region headerbox direkt unter dem Seitentitel statt rechts daneben (genauer gesagt, soll die Box ganz nach rechts rücken).
Ich schätze mal, dass mir irgendwie ein div-Container oder eine css-Anweisung (vielleicht float) fehlt.
Hat jemand einen Rat ?

Micha1111
21.01.2008, 20:24
Also ich habe jetzt die Ausgabe der headerbox in den div der topnav versetzt:
Eintrag in der page.tpl.php:
<div id="header" class="clearfix">
<div id="topnav">
<a class="skip" href="#navigation" title="<?php print t('Skip to the navigation') ?>"><?php print t('Skip to the navigation') ?></a><span class="hideme">.</span>
<a class="skip" href="#content" title="<?php print t('Skip to the content') ?>"><?php print t('Skip to the content') ?></a><span class="hideme">.</span>
<?php if (isset($secondary_links)) { ?><span><?php print theme('links_secondary', $secondary_links) ?></span><?php } ?>

<?php print $headerbox ?>

</div>
<?php print $header ?>
<?php if ($logo) { ?><a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><img id="site-logo" class="_trans" src="<?php print $logo ?>" alt="<?php print t('Home') ?>" /></a><?php } ?>
<?php if ($site_name) { ?><h1 id="site-name"><a href="<?php print $base_path ?>" title="<?php print t('Home') ?>"><?php print $site_name ?></a></h1><?php } ?>
<?php if ($site_slogan) { ?><div id="site-slogan"><?php print $site_slogan ?></div><?php } ?>
<?php print $search_box ?>
</div>
Dadurch wird die headerbox nunmehr direkt unter der secondary-Navigation angezeigt.
Leider gibt es Probleme mit der Breite.
Im IE7 orientiert sich die Breite offenbar am Inhalt
Im Firefox orientier sich die Breite offenbar an der Breite der darüber befindlichen Navigation
Im IE6 geht die Box über die gesamte Seitenbreite und zerstört damit die Optik

Kann mir jemand helfen ?

Micha1111
29.01.2008, 16:43
Hat keiner eine Lösung für eine feste browserunabhängige Breite der "headerbox" ?