[gelöst ]Header wechsel / in der page.tpl.php Datei
am 06.01.2012 - 19:23 Uhr in
Hallo zusammen
Ich hoffe es kann mir schnell jemand helfen:
Nun Ich habe 4 Headerbilder die ich gerne alle 5 Sekunden wechseln möchte.
Ich habe kein Headermodul, es ist direkt in der page.tpl.php Datei.
Der Code in der page.tpl.php sieht im Moment so aus:
<?php
print theme_image(path_to_theme().'/images/bild1.png')
?><?php
print theme_image(path_to_theme().'/images/bild2.png')
?><?php
print theme_image(path_to_theme().'/images/bild3.png')
?><?php
print theme_image(path_to_theme().'/images/bild4.png')
?>Wenn das klappen würde wäre ich schon zufrieden.
Aber zusätzlich wäre toll wen es bei jedem Menüpunkt mit einem anderen Bild startet. Vieleicht kann mir ja auch jemand bei dem helfen.
Vielen Dank für eure Hilfe!
- Anmelden oder Registrieren um Kommentare zu schreiben

hi jonny Zitat: Nun Ich habe
am 06.01.2012 - 20:54 Uhr
hi jonny
Nun Ich habe 4 Headerbilder die ich gerne alle 5 Sekunden wechseln möchte.
dabei hilft dir jquery zb das hier
http://www.noopsta.de/stylischer-bildwechsel-effekt-mit-jquery
Aber zusätzlich wäre toll wen es bei jedem Menüpunkt mit einem anderen Bild startet
das kannst du auch mit dem jquery machen
besten gruss
stef
Vielen Dank! Ich werde mir
am 06.01.2012 - 21:00 Uhr
Vielen Dank!
Ich werde mir das einmal anschauen.
Bei jedem Menüpunkt ein anderen Header!
am 07.01.2012 - 11:59 Uhr
Meine Frage hat sich geändert. Ich möchte lieber bei jedem Menüpunkt ein anderen Header.
Die Slideshow brauche ich doch nicht. Aber danke für den Tip.
Hoffe kann mir jemand helfen.
Header Image
am 07.01.2012 - 12:49 Uhr
Hallo,
theoretisch sollte Header Image genau die gewünschte Funktion bieten. Eine deutsche Anleitung dazu gibt's hier im Handbuch...
Gruß,
Sven
Hallo Sven danke für deine
am 07.01.2012 - 12:55 Uhr
Hallo Sven danke für deine schnelle Antwort.
Jedoch möchte ich dies nicht über das Modul HeaderImage lösen sondern direkt in der page.tpl.php Datei wen das möglich ist.
Vielen Dank!
Klar doch
am 07.01.2012 - 13:11 Uhr
Hallo,
das ist natürlich genauso möglich. Du könntest zu deinen Inhaltstypen ein Bild als Content-Feld hinzufügen. Dann können die Benutzer ein Bild je Seite hochladen und alternativ könntest Du ein Standard-Bild zur Verfügung stellen. Angenommen du nennst das Bild-Feld "headerimage", kannst Du dann in der template.php die Variable für das Bild in der gewünschten Form zusammenstellen:
<?php
function deinTheme_preprocess_page(&$vars) {
$headerImage= $base_path . path_to_theme() . "/images/header_standard.jpg";
if (isset($vars['node'])) {
$node = $vars['node'];
if (isset($node->field_headerimage['0']['filepath'])) {
$headerImage = $node->field_headerimage['0']['filepath'];
}
}
$vars['headerImage'] = $headerImage;
}
?>
Damit hast Du in der page.tpl die Variable "headerImage" zur Verfügung und kannst sie in einen Img-Tag verbauen.
Die Lösung hat natürlich den Nachteil, dass für Seiten, auf denen kein einzelner Node angezeigt wird, auch kein Bild durch den Benutzer festgelegt werden kann. Hier könntest Du nur Standard-Bilder im Theme hinterlegen.
Gruß,
Sven
Nochmals vielen Dank! Nun ist
am 07.01.2012 - 13:31 Uhr
Nochmals vielen Dank!
Nun ist es nicht möglich dem Bild unten zu sagen das es nur auf Home angezeigt wird?
<?php
print theme_image(path_to_theme().'/images/home.png')
?>
und beim nächsten sagen das es nur auf kontakt angezeigt wird?
<?php
print theme_image(path_to_theme().'/images/kontakt.png')
?>
Geht alles
am 07.01.2012 - 13:45 Uhr
Das geht natürlich auch,
wenn du nur fest vorgegebene Bilder verwenden möchtest. Du mußt dann nur in der template.php oder direkt in der page.tpl.php den aktuellen Seitenpfad oder die Seitenargumente aus der arg()-Funktion auslesen und dann das Bild entsprechend setzen. Ein brutale Variante auf Basis des Pfades für die page.tpl wäre folgendes:
<?php
$url = strtolower($_SERVER["REQUEST_URI"]);
$headerImage = "testbild.jpg";
if (strpos($url, 'kontakt')) {$headerImage="kontakt.jpg";}
elseif (strpos($url, 'seite2')) {$headerImage="seite2.jpg";}
elseif (strpos($url, 'seite3')) {$headerImage="seite3.jpg";}
?>
Wobei die oben gezeigte Variante sehr unsauber ist, da bei Änderungen der Pfade auch der Code entsprechend angepasst werden müsste. Also lieber mit arg() arbeiten und auswerten, ob du auf node/x oder sonstwo bist.
Gruß,
Sven
Ich habe diesen Code soweit
am 07.01.2012 - 14:33 Uhr
Ich habe diesen Code soweit auf meine Bilder und verlinkungen angepasst aber irgendwie funktioniert das bei mir nicht.
Das es keine schöne Lösung ist verstehe sehe ich auch aber ich kenne mich mit php kaum aus.
irgendwie funktioniert das nicht
am 07.01.2012 - 14:36 Uhr
Hmmmm,
wenn du uns noch verrätst, was "irgendwie funktioniert das nicht" genauer heißt, könnten wir ja vielleicht weiterhelfen ;-)
Gruß,
Sven
Sorry :) Ich habe meine Tags
am 07.01.2012 - 14:44 Uhr
Sorry :)
Ich habe meine Tags gelöscht:
<?php
print theme_image(path_to_theme().'/images/kontakt.png')
?>
usw
und den neuen Tag eingefügt. Und jetzt erscheint keinen header auf meiner Seite.
das reicht nicht an info wie
am 07.01.2012 - 16:32 Uhr
das reicht nicht an info
wie sieht dein quelltext dazu im ganzen aus? (bitte nur den header bereich ersteinmal :))
<?php$url =
am 07.01.2012 - 16:57 Uhr
<div class="head-row3">
<?php
$url = strtolower($_SERVER["REQUEST_URI"]);
$headerImage = "/images/home.jpg";
if (strpos($url, 'home')) {$headerImage="/images/home.jpg";}
elseif (strpos($url, 'kontakt')) {$headerImage="/images/kontakt.jpg";}
elseif (strpos($url, 'uebermich')) {$headerImage="/images/uebermich.jpg";}
elseif (strpos($url, 'gallery')) {$headerImage="/images/gallery.jpg";}
?>
<!-- the tabs -->
<div class="tabs" style="display:none;">
</div>
</div>
na da fehlt ja das komplette
am 07.01.2012 - 17:34 Uhr
na da fehlt ja das komplette html zur bild ausgabe:
<?php
$url = strtolower($_SERVER["REQUEST_URI"]);
$headerImage = "/images/home.jpg";
if (strpos($url, 'home')) {
$headerImage="/images/home.jpg";
}
elseif (strpos($url, 'kontakt'))
{
$headerImage="/images/kontakt.jpg";
}
elseif (strpos($url, 'uebermich'))
{
$headerImage="/images/uebermich.jpg";
}
elseif (strpos($url, 'gallery'))
{
$headerImage="/images/gallery.jpg";
}
else{
// wenn nicht spezifiziert
$headerImage="/images/home.jpg";
}
?>
<?phpprint "<img src='".path_to_theme()."/".$headerImage."' >"
?>
Vielen Dank! Das funktioniert
am 07.01.2012 - 17:40 Uhr
Vielen Dank! Das funktioniert ;)
Welche Version von Drupal?
am 12.01.2012 - 19:13 Uhr
Vielen Dank! Das funktioniert ;)
...und das ganze läuft auf Drupal 7.10.? Konnte nirgends ausmachen auf welcher Version?
hi follower Zitat: ...und
am 12.01.2012 - 21:12 Uhr
hi follower
...und das ganze läuft auf Drupal 7.10.? Konnte nirgends ausmachen auf welcher Version?
ja genau, das läuft so aber auch in drupal 6
vg
stef
Danke, dann werde ich das
am 12.01.2012 - 21:19 Uhr
Danke, dann werde ich das auch auf meiner Page anschauen.
Gruss
Follower
Habe dazu noch eine
am 17.02.2012 - 08:14 Uhr
Habe dazu noch eine Frage:
Wie kann ich den das headerbild der Startseite festlegen, da die Hauptseite z.B www.meineSeite.ch heisst.
Das klappt bei mir jetzt nicht mehr da "wenn nicht spezifiziert" nicht mehr das Home enthalten ist sondern das 404Error.