Login Feld in fertiges Theme einbauen?

Begonnen von Snow2002, 21 Februar 2006, 12:53:08

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Snow2002

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

Jetzt habe ich die Idee, links oben nachträglich ein Login einzubauen, so dass nach dem Einloggen der Benutzername auftaucht.

Zur Ansicht:


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
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

onkel

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&auml;stebucheintr&auml;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 &nbsp;&nbsp;&nbsp;<a href="modules.php?name=Your_Account&amp;op=logout" title="$logout"><img src="themes/theme2005/images/logout.png"></a>&nbsp;<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'>&nbsp;"._REMEMBERLOGIN."<br>";

return $out;

}


Wobei du das alles nach deinen Wünschen anpassen kannst .............

mfg

henne

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
bye Henne

don't click the blue "e" on your desktop, use Firefox

Jeden Tag verschwinden Rentner im Internet, weil sie gleichzeitig alt und entfernen drücken

Snow2002

#3
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>&nbsp;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&auml;stebucheintr&auml;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'>&nbsp;"._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">&nbsp; </td>
            <td width="88">{LOGINFORM}</td>
          </tr>
        </table>
      </div></TD>
</TR>
<TR>


Gruß, Marcus
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4

Snow2002

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
Gruß, Marcus

--------
pragmaMx 0.1.10 RC1, 1.30.2.12/2008-01-29
PHP-Version:    5.1.2  (PHP-Info)
MySQL-Version: 4.1.18-standard
Server-Version:  Apache/1.3.37 (Unix)
SMF: 1.1.4