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, 1189 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...