mx-bluestyle Theme mit eigener Funktion erweitern

Begonnen von skybandit, 12 Juni 2005, 23:51:59

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

skybandit

Hallo, ich habe auf Basis des mx-bluestyle themes ein eigenes Theme gebaut.
Das funktioniert soweit prima.

Nun möchte ich eine funktion implementieren, die einen einen Button je nach Login zustand darstellt.

Wenn (mxIsUser()) dann "soll der Button den Text "logout" mit entsprechendem Link haben
Wenn (!mxIsUser()) dann "soll der Button den Text "login" mit entsprechendem Link haben

Habe jetzt schon ein weilchen im im Forum gestöbert, aber nix passendes gefunden.
Eine passende function zu schreiben ist kein Problem, nur wie kann ich die in der theme.html bzw theme.php hinterlegen ?

Gruß
skybandit

Andi

Hi :)

1.
du schreibst die Funktion in die functions.php des Themes. z.B:function mybutton() {
if (mxIsUser())
$out = 'irgendwas';
else
$out = 'was anderes';
return $out;
}

Wichtig ist hier der Rückgabewert return $out;

2.
in der theme.html suchst du die Stelle im HTML-Code, wo der Rückgabewert (zusätzlicher HTML-Code) erscheinen soll und schreibst da einen Platzhalter rein. z.B. {MY_BUTTON_HUHU}
Wichtig sind die geschweiften Klammern darum, der Name des Platzhalters ist egal, er sollte aber eindeutig sein.

3.
in der functions.php des Themes existiert eine Funktion theme_replace_end. Hier sind bereits schon ein paar Beispiele eingetragen. NAch dem gleichen Muster fügst du hier deinen Platzhalter mit dem Rückgabewert deiner Funktion ein.
z.B. so:
/// weitere Beispiele dazu
#$part[] = array("{VIEW_DATE}", mxThemeShowDate());
$part[] = array("{MY_BUTTON_HUHU}", mybutton());


Das war es normalerweise schon ;)
Wenn ich nix vergessen habe...
schön´s Grüssle, Andi

skybandit

Hi Andi,
das ist genau das, was ich brauchte und funktioniert Prima.    :thumbup:
Vielen lieben Dank für die ausführliche und schnelle Antwort !

Ich wäre da selber nie drauf gekommen :D

Dickes Lob an deinen Support, dein Einsatz hier ist wirklich sehr lobenswert!!

Gruß
skybandit