pragmaMx Support Forum

pragmaMx => Themes & Design => Thema gestartet von: skybandit am 12 Juni 2005, 23:51:59

Titel: mx-bluestyle Theme mit eigener Funktion erweitern
Beitrag von: skybandit am 12 Juni 2005, 23:51:59
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
Titel: Re: mx-bluestyle Theme mit eigener Funktion erweitern
Beitrag von: Andi am 13 Juni 2005, 21:17:49
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...
Titel: Re: mx-bluestyle Theme mit eigener Funktion erweitern
Beitrag von: skybandit am 14 Juni 2005, 18:06:33
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