[Erledigt] Fotowechsel im Head bei brightsideoflife-theme

Begonnen von ostrohschein, 29 Dezember 2008, 11:04:42

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

ostrohschein

Hallo
Habe mir die neuen Themes runtergeladen und bin sehr erfreut darüber, die sind klasse. Nur mein Problem ist, das o.g. Theme möchte ich mit Wechselbildern im Head ausrüsten, die automatisch wie beim Rainbow geladen werden. Kann mir da jemand einen Ansatzpunkt geben, wie ich das Einbau? Oder ist es da möglich die themesettings einfach zu kopieren aus rainbow raus? Freue mich auf eure Vorschläge.

reddragon

ohne nun in die themes geschaut zu haben, behaupte ich mal, das kopieren der settings geht nicht. Jeder programmierer hat seinen eigenen Stil, und kaum eine Variable innerhalb des Themes ist identisch mit der eines anderen Themes. Dann müssten auch noch die Abfragen in der Theme-html rein.

Ich würde vorschlagen, im Ziel-Theme mir den Platz rauszusuchen, wo das Bild rein soll, und dann aus dem Rainbow den entsprechenden Codeabschnitt, und dann die fehlenden settings ergänzen...

goodssale

hallo,
benutze auch das brightsideoflife theme, also wenn das gehen würde, das wäre einfach genial.
leider habe ich davon zu wenig ahnung um das umsetzen zu können.

aber die idee ist klasse, vielleicht ist ja jemand bereit der ahnung hat, das mal zu versuchen.
hatte vorher auch das rainbow und am besten hat mir der bilder wechsel gefallen.

wünsche allen einen guten rutsch ins neue jahr !!!

grüße heinz



Grüße Heinz

reddragon

gehen geht alles, aber normalerweise ist man hier ja nicht bei "wünsch dir was"

Wie heißt es so schön :  Try and error  (oder so ähnlich) :puzzled:

Also:
Man nehme die index.html und schmeiße folgenden Satz raus:
        <div id="content-header" style="background-image: url({HEAD_IMAGE});">
        </div>


und ergänzen mit folgendem:
        <div id="content-header" style="background-image: url(images/{PHOTOS});">
        </div>


Da wir nun eine Variable verändert haben muss deren Zuordnung auch herhalten:
Dazu nehmen wir die funktions.php und entsorgen folgenden Code:
$part[] = array("{HEAD_IMAGE}", theme_get_headimage());

und ergänzen mit folgendem:
$part[] = array("{PHOTOS}", photos($GLOBALS['im'], $GLOBALS['imcontent']));   

da wir nun eine "function" gegen eine andere getauscht haben, muss dies auch  weiter unten geschehen:
Das raus:
function theme_get_headimage()
{
    global $themesetting;
    $data = theme_head_data();
    if (isset($data['current']['logo'])) {
        return MX_THEME_DIR . '/images/logos/' . $data['current']['logo'];
    } else {
        /* wenn nix gefunden, dann Standard zurueck.. */
        return MX_THEME_DIR . '/images/logos/' . $themesetting['defaultheaderimage'];
    }
}


und ergänzen mit folgendem:
/**
* wechselnde Photos
*/
function photos ($im, $imcontent)
{
    if (isset($GLOBALS['home'])) {
        return $im['Home'];
    } else if (defined('MX_MODULE') && isset($im[MX_MODULE])) {
        if (MX_MODULE == "Content") {
            if (!empty($_GET['pid']) && isset ($imcontent[$_GET['pid']])) {
                return $imcontent[$_GET['pid']];
            } else {
                return $im[MX_MODULE];
            }
        } else {
            return $im[MX_MODULE];
        }
    } else if (defined("mxAdminFileLoaded") && isset($navimpath['AdminLoaded'])) {
        return $im['AdminLoaded'];
    } else {
        return $im['Default'];
    }
}



Nun müssen wir noch die Bilder definieren:

Dazu müssen wir nur die Settings.php erweitern:


// hier werden die Photos je Modul definiert
$im['Default'] = "defaultphoto.jpg";
$im['News'] = "newsphoto.jpg";
$im['Home'] = "homephoto.jpg";
$im['AdminLoaded'] = "adminphoto.jpg";
$im['Submit_News'] = "newsphoto.jpg";
$im['Topics'] = "newsphoto.jpg";
$im['Stories_Archive'] = "newsphoto.jpg";
$im['Forum'] = "forumphoto.jpg";
$im['eBoard'] = "forumphoto.jpg";
$im['My_eGallery'] = "galleryphoto.jpg";
$im['Gallery'] = "galleryphoto.jpg";
$im['Downloads'] = "downloadphoto.jpg";
$im['Your_Account'] = "your_accountphoto.jpg";
$im['User_Registration'] = "your_accountphoto.jpg";
$im['UserGuest'] = "your_accountphoto.jpg";
$im['Content'] = "contentphoto.jpg";


Nun fehlen nur noch die Bilder im Theme  ;)

Da ich das ja auch schon fertig gemacht habe, könnte ich ich die Dateien auch mal hochladen. Allerdings habe ich die alten Codeabschnitte nur deaktiviert, und eben mit den neuen ergänzt.
:rtfm: Keine Garantie auf Nichts, ob dadurch eventuell Sicherheitslücken entstanden sein können glaube ich nicht, aber ich weiß es nicht. Da sollte mal jemand drüber schaun, der Ahnung hat...


Im Prinzip ganz einfach...
Dann lasst es krachen :bye2:

goodssale

erstmal guten morgen und ein gesundes neues jahr an alle.

hallo reddragon,

danke das du dir die arbeit gemacht hast. :present:
was du gemacht hast ist einfach genial, vielen dank.

das neue jahr fängt ja super an!!

grüsse heinz


Grüße Heinz

reddragon

Baue mir gerade eine neue Seite auf, um mir fehlt die Zeit und die Idee für ein Theme, nun bin ich auch letztendlich an diesem Theme hängen geblieben...  :BD:

Nun, dann aber auch mit Fotowechsel...  :smile:



PS, ich denke das Theme könnte zu, daher markiere ich es mal als solches.... ;)

reddragon

Hi,

nur nochmal eine kleine Info zum Theme brightsideoflife:
Um Silvester rum hatten wir das Thema schon mal, und auf die schnelle wurde die Funktion mx-rainbow eingebaut. habe mir vorhin mal genauer mit dem Theme beschäftigt, und mir ist aufgefallen, dass es die Funktion z.T. schon hat:

In der settings.php wird in Zeile 26 das default-Image definiert. und dadrunter wird für die einzelnen Tabs die Variable aufgerufen:
$themesetting['headnav'][_HOME] = array(/* Startseite */
    'link' => './',
    'logo' => $themesetting['defaultheaderimage'],   
    'case' => array(
        defined('MX_HOME_FILE'),
        ));


Entweder weitere Variabeln erstellen, oder die Variable gegen das gewünsche Bild tauschen ;)
$themesetting['headnav'][_HOME] = array(/* Startseite */
    'link' => './',
    'logo' => 'headerphoto2.jpg',
    'case' => array(
        defined('MX_HOME_FILE'),
        ));


Das dürfte sicherlich einiges einfacher wie die andere Version sein!




Das nur nochmal zu dem Theme als Info. Von daher kann dieses hier auch direkt geschlossen werden, oder an das andere ergänzt werden. :bye: