Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zeitbasiertes Bild auf Website mit PHP und CSS

Frage Entwicklung PHP

Mitglied: peterha

peterha (Level 1) - Jetzt verbinden

06.12.2014 um 21:14 Uhr, 1198 Aufrufe, 5 Kommentare

Moin Leute,

ich bastele gerade mal eine Website. Bin soweit fertig. Muss nur noch einen automatischen Wechsel des Hintergrund-Bildes einbauen.
Das Hintergrundbild ist im Joomla Template in der theme.css-Datei definiert:

01.
body { 
02.
  background-image: url("../../../images/hintergrund.jpg"); 
03.
  background-attachment: fixed; 
04.
  background-repeat: no-repeat; 
05.
  background-size: cover; 
06.
}
Ich kann darüber also ein statisches Bild definieren. Möchte aber mit folgendem Code zeitbasiert zwischen 3 Bildern wechseln.

01.
<?php 
02.
 
03.
 $h = date('G'); 
04.
 if ($h < 7) $img = '1.jpg'; 
05.
 else if ($h < 20) $img = '2.jpg'; 
06.
 else $img = '3.jpg'; 
07.
 
08.
?>
Einbinden könnte ich es in die php-Datei mit dem html-Code:
<img src="<?php echo $img; ?>">


Meine Frage ist nun: Wie kann ich das am besten einbinden? Den Bilderwechsel besser in die theme.css oder per php in der Template-index.php?
Das Bild im css hat als background-size: cover; d.h. es passt sich automatisch der Browsergröße an. (Was ich sehr gut finde...)
Ginge das auch in der index.php <img src="<?php echo $img; ?>"> ? So stellt es ja nur die Bilddatei dar, wie sie ist. (Zu groß oder zu klein auf der Seite, nicht sich anpassend)

Herzlichen Dank für eure Hilfe.
Peter
Mitglied: 114757
06.12.2014, aktualisiert um 21:44 Uhr
Moin Peter,
füge doch einfach via PHP ein zusätzliches Stylesheet hinter dem joomla CSS ein, und definiere die Hintergrundbild-Eigenschaft darin als !IMPORTANT.

01.
 echo "<style type=\"text/css\">Body {Background-Image:url('path/bg.jpg') !Important}</style>";
Gruß jodel32
Bitte warten ..
Mitglied: peterha
06.12.2014 um 22:40 Uhr
Danke für die Antwort. Bitte erkläre es nochmal für Dummies.

"via PHP" -> Die Zeile in den index.php?

In der Zeile steht ja ein statischer Pfad. Wo kommt dann die php-Zeitweiche hin?
Stehe auf dem Schlauch. Vielleicht kannst du nochmal ganz eindeutig schreiben, was wo hin muss... Danke.
Bitte warten ..
Mitglied: bytecounter
07.12.2014 um 08:19 Uhr
Hallo Peter,

zum Bsp so;
CSS:
01.
.nacht { 
02.
        background-image: url("../../../images/hintergrund.jpg");  
03.
04.
.vormittagt { 
05.
        background-image: url("../../../images/anderesBild.jpg");  
06.
07.
.nachmittag { 
08.
        background-image: url("../../../images/nochEinAnderesBild.jpg");  
09.
}
PHP:
01.
<?php  
02.
 $h = date('G');  
03.
 if ($h < 7) { 
04.
        $css = ''nacht';  
05.
} else if ($h < 20) { 
06.
        $css = 'vormittag';  
07.
 else  
08.
        $css = 'nachmittag';  
09.
10.
?>
Dann fügst Du per PHP an das Element, welches die Hintergrund Grafik bekommen soll, einfach noch die CSS-Klasse ein, z. B.
01.
<div class="joomlaKlassen <?php echo $cass; ?>">...</div>
Dein CSS muss er nach den Joomla-Stylesheets laden, dann überschreibt er damit die entsprechende Joomla-Eigenschaft (in diesem Fall "bachground-image". Die !important-Regel ist normalerweise nicht erforderlich. Es schadet aber auch nichts, sie zu setzen:
01.
 background-image: url("../../../images/hintergrund.jpg") !important; 
vg
Bytecounter
Bitte warten ..
Mitglied: peterha
07.12.2014 um 14:09 Uhr
Hallo Bytecounter,

Danke für den Code. Ich habe folgendes gemacht:

ich habe das den CSS-Schnipsel (den ich initial postet) durch dienen ersetzt. Deinen PHP-Code habe ich in die index.php eingebaut. (Hinter dem Body-Tag.)
Wo genau muss "<div class="joomlaKlassen <?php echo $cass; ?>">...</div>" rein?

Und das "background-image: url("../../../images/hintergrund.jpg") !important; " muss ins CSS hinter das, was ich bereits eingefügt habe?

Danke für die Hilfe.
Peter
Bitte warten ..
Mitglied: bytecounter
08.12.2014 um 13:59 Uhr
Hallo Peter,

das war alles nur Beispielcode den Du entsprechend anpassen musst. Wo was hin muss, kann ich Dir nicht sagen, ich arbeite nicht mit Joomla.

Die CSS Klasse muss dem Element zugefügt werden, welches den Hintergrund ändern soll. Eventuell ist es kein DIV sondern direkt das BODY-Element. Aber hier kenne ich weder Joomla noch Deinen Code.

vg
Bytecounter
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (9)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Grafikkarten & Monitore
PC startet, aber kein Bild (7)

Frage von Linuxguru zum Thema Grafikkarten & Monitore ...

Entwicklung
IOS WebApp lädt CSS nicht mit (2)

Frage von maddig zum Thema Entwicklung ...

Webentwicklung
Suche Website für Fotogalerien! (5)

Frage von Interception zum Thema Webentwicklung ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

Viren und Trojaner
Wie werde ich den Mist "fanli90" wieder los? (12)

Frage von Taumel zum Thema Viren und Trojaner ...