Hallo,
versuche gerade das Hintergrundbild beim Theme pmx-love zu ändern, das eine unbestimmte Anzahl (mind. 10) Bilder sich abwechseln, wenn man in einen anderen Bereich geht.
Beispiel: Home = Originalbild - dann zu News und dort sollte ein anderes ercheinen, usw.
Wie könnte ich das lösen.
Danke für Eure Hilfe
Das würde mich auch interessieren! Und andere User sicher auch.
Gruß
icebreaker
in einem WordPress Theme (glaube TwentyTen) hatte ich es mal gesehen, kenne mich aber noch zu wenig mit den Code aus.
Moin Septembergrau
In dem genannten Theme wechselt die Headergrafik. Beim pmx-love soll aber die Hintergrundgrafik wechseln. Das ist was anderes.
Gruß
icebreaker
Moin Icebreaker,
wie gesagt, kenne mich mit den feinheiten im Code nicht so sehr aus.
Hätte ja sein können, wenn man ein wenig mehr Ahnung hat als ich, das es als Grundlaage verwendet werden kann um s daraus dann passend zu machen.
Wohl mein Denkfehler :puzzled:
Hoi Septembergrau, :)
schau dir mal das Theme stylevantage (http://www.pragmamx.org/Downloads-Theme-Stylevantage-view-717.html) an. Dort werden verschiedene css-Dateien (Farben) eingebunden. Bei dir wäre das dann immer bei nur der Bereich.
body {
background:.................................................
}
Habe es nicht getestet. Denke aber das sollte ein Ansatz sein.
einfache wäre sicher die myheader.php:
Für jeden Style eine CSS-Datei in den Theme-Ordner legen, mit dem Inhalt
body {
Background:............;
}
im PHP-Bereich der my_header.php folgende Abfrage einbauen
switch (MX_MODULE) { //beinhaltet den Modulnamen
case "News":
pmxHeader:.add_style("pfadzumtemplate/News.style.css");
break;
case "Wasweisich":
pmxHeader:.add_style("pfadzumtemplate/Wasweisich.style.css");
break;
.
.
.
default:
// nix, wenn original verwendet werden soll
break;
}
sollte klappen....
Hoi Septembergrau, :)
Habe es mal gerade getestet und direkt im Theme eingesetzt.
theme.functions.php
suche: function theme_replace_start ca.Zeile 183 und füge hinter
$part[] = array('"images/', '"' . MX_THEME_DIR . '/images/'); // normale images im theme
folgendes ein:
$part[] = array("{THEMEBACKGROUND}", theme_get_layout_background()); // wechselnder Background
füge am Ende vor ?> folgendes ein:
//Hintergrundwechsel
function theme_get_layout_background()
{
global $themesetting;
foreach ($themesetting['headnav'] as $title => $menue) {
if (in_array(1, $menue['case'])) {
if ($menue['background']) {
return $menue['background'];
} else {
return $themesetting['basebackground'];
}
}
}
/* wenn nix gefunden, dann Standard zurueck.. */
return $themesetting['basebackground'];
}
theme.settings.php
füge hinter:
defined('mxMainFileLoaded') or die('access denied');
folgendes ein:
/**
* Hintergrundeinstellung
*/
$themesetting['basebackground'] = 'home';
nun füge in den einzelnen Module in der headnav
folgendes z.B. bei den News ein
'background' => 'news',
so z.B.
$themesetting['headnav'][] = array(/* Newsmodul */
'background' => 'news',
'menu' => 1,
theme.html
füge in den Bereich more header folgendes ein:
<link rel="stylesheet" href="style/background.php?background={THEMEBACKGROUND}" type="text/css" />
style.css
dort einfach den background: ................................. entfernen
und jeweils
eine neue background-news.css (z.B.)
body {
background: url(../images/news.jpg) no-repeat scroll center top #FDF9F6;
}
Jetzt erstelle dir noch die background.php mit folgendem Inhalt:
<?php
error_reporting(0);
if (empty($_REQUEST['background'])) {
$background = 'home';
} else {
$background = trim($_REQUEST['background']);
}
if (!$background || !file_exists(dirname(__FILE__) . '/background-' . $background . '.css')) {
$background = 'home';
}
header('Content-Type: text/css');
header('Expires: ' . gmdate('D, d M Y H:i:s GMT', time() + 3600 * 24)); // 1 day
include(dirname(__FILE__) . '/background-' . $background . '.css');
return;
?>
@import url(backgrounds-<?php echo $background ?>.css);
Habe es hier (http://www.demo.mw-webservice.de/) mal nur mit Farben gemacht. Denke so ähnlich sollte es dann sein.
danke Euch sehr für die gemachte Mühe
Sehe ich es richtig: es wird für jedes Modul das Bild/Farbe vom Backround angelegt?
Wenn ja, dann ist es zwar super aber nicht das was ich meinte. (Hilft dann mit Sicherheit anderen Usern weiter.)
Hatte mich wohl am Anfang der Thematik etwas falsch ausgedrück, oder beim lesen Eurer Antworten falsch verstanden.
Ich suche den Code für den Backround, welcher über ein Zufallsprinzip den Backround (mit Hintergrund - Bildern) immer neu ersetzt, wenn ich woandes klicke (nicht abhängig vom Modul).
$number=mt_rand(1,5) //Zufallszahl zwischen 1 und 5 (hier Beispielsweise)
pmxHeader:.add_style("pfadzumtemplate/".$number.".style.css");
so legst du die css-Dateien mit vorangestellter Nummer an. alse "1.style.css" usw.....
Hallo Septembergrau
Scheinbar meinst du einen zeitgesteuerten Wechsel der Hintergrundgrafik. Das kannst du mit einem Javascript regeln. Schau dir das mal an:
http://www.standon.be/100scripts/html/slideshow/slide4.html
Da kannst du einstellen, wie lange das jeweilige Bild angezeigt wird, bevor es wechselt.
Allerdings finde ich persönlich die Lösung von Comedi/TP eleganter.
Gruß
icebreaker
danke dir TP
IB, nein es war schon so gemeint wie es TP geschrieben hatte.
Nicht zeitgesteuert, sondern wen ich z.B. von Home auf Forum und dann zu Download oder so klicke, das dabei immer wieder ein anderes HG Bild erscheinen sollte aus einem Ordner in zufälliger Reihenfolge.
Moin :)
willst du das den Besuchern wirklich antun?
Mit dem einzelnen ganzseitigen Hintergrundbild hat man ja schon Probleme die relevanten Textstellen auf der Seite zu finden. Und wenn man sich dann bei jedem Klick neu zurechtfinden muss....
Nee, ich würde da 2x klicken, dann wäre ich wieder weg.
Moin Andy,
das wird noch beprochen alles, was nun damit geschieht.
Da ich aber andere Projekte auch habe, wird es wohl eher auf eines dieser zutreffen.
Danke Euch allen sehr :thumbup: