Huhu!
Ich habe vor einiger Zeit mit der MX-Themeengine+Dreamweaver ein eigenes Theme gebastelt. Findet ihr hier: http://www.graffiti-dortmund.de/version2/html/index.php (http://www.graffiti-dortmund.de/version2/html/index.php)
Jetzt habe ich die Idee, links oben nachträglich ein Login einzubauen, so dass nach dem Einloggen der Benutzername auftaucht.
Zur Ansicht:
(https://forum.pragmamx.org/proxy.php?request=http%3A%2F%2Fwww.graffiti-dortmund.de%2Fbilda%2Fbastel.gif&hash=3293bc350d8a06da8d4bc5f5af5c0bc145e51a6b)
in dem weißen Feld soll der Benutzername stehen. Kann man die Funktion nachträglich in das fertige Theme einbauen? Wenn ja wie? Bin da völlig draußen, was die Engine angeht..
Gruß, Marcus
In dein Theme.html kommt {LOGINFORM}
in der Funktion.php
$part[] = array("{LOGINFORM}", mx_theme_loginform() );
Dann noch die function noch rein
################################################################
function mx_theme_loginform() {
global $prefix, $user_prefix;
$out = "";
if (!mxIsUser()) {
if(!defined("mxloginblockviewed")) define("mxloginblockviewed",TRUE);
$nickname = _NICKNAME;
$password = _PASSWORD;
$login = _LOGIN;
$check = mxGetUserLoginCheckField();
$out .=
<<<logform
<form action="modules.php?name=Your_Account" method="post">
$check
</form>
logform;
}
else {
$hallo = _HELLO;
$logout = _AB_LOGOUT;
$account = _YACCOUNT;
$privatemessages = "";
$cookie = mxgetusersession();
$username = $cookie[1];
if (mxModuleAllowed('Private_Messages')){ # falls pm-modul aktiv ist
$qry="SELECT Count(msg_id) FROM ${user_prefix}_priv_msgs WHERE to_userid=".$cookie[0]." AND read_msg=0;";
$result = sql_query($qry);
list($countpmunread) = sql_fetch_row($result);
if ($countpmunread) { # wenn angemeldeter User
$privatemessages = "<div style=\"text-align: center; font-size: 9px;\">"._YOUHAVE." <a href=\"modules.php?name=Private_Messages\" title=\""._PRIVATEMSG."\"><b style=\"color: Yellow; font-weight: bold;\">".intval($countpmunread)."</b> "._PRIVATEMSG."</a><div>";
}
}
# Usergaestebuch
$guestbook = "";
if (mxModuleAllowed("UserGuest")){ # falls gaestebuch vorhanden
$qry="SELECT Count(gid) FROM ${user_prefix}_userguest WHERE touserid='".$cookie[0]."' AND touser = '".$username."' AND dummy=0;";
$result = sql_query($qry);
list($gbnewentries) = sql_fetch_row($result);
if($gbnewentries){
$msg2 = ($GLOBALS['currentlang']=='english') ? 'new guestbookentries' : 'neue Gästebucheinträge';
$guestbook = "<div style=\"text-align: center; font-size: 9px;\">"._YOUHAVE." <a href=\"modules.php?name=UserGuest\" title=\""._GUESTBOOKVIEW."\"><b style=\"color: Yellow; font-weight: bold;\">".intval($gbnewentries)."</b> ".$msg2."</a></div>";
}
}
$out .=
<<<logform
<div style="font-weight: normal; padding-bottom: 3px; font-size: 11px;">$hallo $username <a href="modules.php?name=Your_Account&op=logout" title="$logout"><img src="themes/theme2005/images/logout.png"></a> <a href="modules.php?name=Your_Account" title="$account"><img src="themes/theme2005/images/account.png"></a></div>
$privatemessages $guestbook
logform;
}
#$out .= "<input type='checkbox' value='1' name='rememberme'> "._REMEMBERLOGIN."<br>";
return $out;
}
Wobei du das alles nach deinen Wünschen anpassen kannst .............
mfg
jupps sollte eigentlich kein Thema sein, es gibt ja in der functions.php (von mx_default) schon die Funktion mx_theme_loginform.
Die kannst Du Dir anpassen. Die betreffenden Stellen sind eigentlich nur HTML. Dann kann das ganze Loginform, über den Platzhalter {LOGINFORM}, an der Stelle wo jetzt Dein grafisch dargestelltes Loginform ist, eingefügt werden.
Wenn Du noch Fragen hast meld Dich einfach nochmal ;)
Edit: ups der Onkel war schneller ;D
Moin!
Danke für eure Tipps! Damit habe ich es schon mal ein großes Stück weiter geschaft.
Einzigstes Problem: Im IE + Safari wird alles korrekt dargestellt. Im Opera + Mozilla hingegen
steht der Username nicht im weißen Kasten, sondern weiter rechts..also neben dem Kasten. Wißt ihr da auch Rat? Hier mal der Abschnitt aus der functions.php
# ###############################################################
function mx_theme_loginform()
{
global $prefix, $user_prefix, $JPCACHE_ON;
if ($JPCACHE_ON) {
return;
}
$out = "";
if (!MX_IS_USER) {
if (!defined("mxloginblockviewed")) define("mxloginblockviewed", true);
$nickname = _NICKNAME;
$password = _PASSWORD;
$login = _LOGIN;
$check = mxGetUserLoginCheckField();
$out .= <<<logform
<form action="modules.php?name=Your_Account" method="post">
$check
<table align="center" border="0" cellspacing="0" cellpadding="1">
<tbody>
</tbody>
</table>
</form>
logform;
} else {
$logout = _AB_LOGOUT;
$account = _YACCOUNT;
$privatemessages = "";
$cookie = mxgetusersession();
$username = $cookie[1];
if (mxModuleAllowed('Private_Messages')) { # falls pm-modul aktiv ist
$qry = "SELECT Count(msg_id) FROM ${user_prefix}_priv_msgs WHERE to_userid=" . $cookie[0] . " AND read_msg=0;";
$result = sql_query($qry);
list($countpmunread) = sql_fetch_row($result);
if ($countpmunread) { # wenn angemeldeter User
$privatemessages = "<div style=\"text-align: left;\">" . _YOUHAVE . " <a href=\"modules.php?name=Private_Messages\" title=\"" . _PRIVATEMSG . "\"><b style=\"color: #FF9900; font-weight: bold;\">" . intval($countpmunread) . "</b> Nachricht(en)</a></div>";
}
}
# Usergaestebuch
$guestbook = "";
/*
if (mxModuleAllowed("UserGuest")){ # falls gaestebuch vorhanden
$qry="SELECT Count(gid) FROM ${user_prefix}_userguest WHERE touserid='".$cookie[0]."' AND touser = '".$username."' AND dummy=0;";
$result = sql_query($qry);
list($gbnewentries) = sql_fetch_row($result);
if($gbnewentries){
$msg2 = ($GLOBALS['currentlang']=='english') ? 'new guestbookentries' : 'neue Gästebucheinträge';
$guestbook = "<div style=\"text-align: left; font-size: 9px;\">"._YOUHAVE." <a href=\"modules.php?name=UserGuest\" title=\""._GUESTBOOKVIEW."\"><b style=\"color: Yellow; font-weight: bold;\">".intval($gbnewentries)."</b> ".$msg2."</a></div>";
}
}
*/
$out .= <<<logform
$hallo <span style="color: #ff9900; background-color: transparent;">$username</span> !
<br><br>
$privatemessages $guestbook
<table align="left" width="100%" border="0">
</table>
logform;
}
# $out .= "<input type='checkbox' value='1' name='rememberme'> "._REMEMBERLOGIN."<br>";
return $out;
}
Hier der Bereich der theme.html
<TR>
<TD style="background-image:url(http://www.graffiti-dortmund.de/version2/html/themes/gda5/images/theme_02.gif);" WIDTH=950 HEIGHT=131><div id="loginform">
<table width="340" height="88" border="0">
<tr>
<td width="10"> </td>
<td width="88">{LOGINFORM}</td>
</tr>
</table>
</div></TD>
</TR>
<TR>
Gruß, Marcus
Huhu!
Das Problem ist vom Tisch!
Ich habe in der Theme.html der LOGINFORM gesagt, das sie bitte linksbündig sein soll. Daran hält sie sich nun auch in allen Browsern. ;)
Gruß, Marcus