Das folgende Beispiel zeigt ein Anmeldeformular mit Benutzername und Passwort wenn man nicht angemeldet ist und den Benutzernamen mit Abmeldelink wenn der Nutzer sich richtig angemeldet hat.
Wichtig: Das Attribut name der <input/>-Elemente darf nicht geändert werden.
<ty:siteroles mode="loggedout">
<form action="<?php echo tyGetURLByTopic("userdata"); ?>" method="post" name="login" id="loginform">
<input type="hidden" name="login" value="Anmelden"/>
<input name="login_email" id="email" type="text" class="input_login<ty:siteroles mode="error" name="login_failure"> formerror logerror</ty:siteroles>" value="<?php echo htmlentities(strip_tags($_REQUEST['login_email']));?>">
<input name="login_password" type="password" class="input_login<ty:siteroles mode="error" name="login_failure"> formerror logerror</ty:siteroles>">
<button type="submit" name="login_button"><?php if ($tyState["lang"] == "de" ) { echo "Login"; } else { echo "Anmelden"; } ?></button><br>
<a href="<?php echo tyGetUrlByTopic("registrierseite"); ?>">registrieren</a>
</form>
</ty:siteroles>
<?php if (!$tyState["editMode"]) { ?>
<ty:siteroles mode="loggedin">
You are logged in as: <ty:siteroles mode="attribut-value" name="email"><ty-siteroles:value/></ty:siteroles><br><a href="<?php echo $_SERVER["REQUEST_URI"]; echo (!empty($_SERVER['QUERY_STRING'])?"&logout=1":"?logout=1"); ?>" target="_self">Logout</a>
</ty:siteroles>
<?php
}
?>
<?php if ($tyState["editMode"]) { ?>
Login nicht verfügbar
<?php } ?>
Beim Single Opt-In wird nach dem Absenden des Registrierungsformulars eine Bestätigungsmail an die eingegebenen Mail-Adresse versendet. In dieser Mail ist ein Link zur Bestätigung und ein Link zum Löschen der Registrierung enthalten. Beim Klick auf den Bestätigungslink ist die Registrierung erfolgreich beendet. Der Siteroles-Nutzeraccount wird in den Status online gesetzt und es wird die Opt-In-Seite geöffnet. Der Nutzer kann sich nun anmelden. Beim Klick auf den Link zum Löschen der Registrierung werden der erstellte Datensatz und der Siteroles-Nutzer aus dem Myty-System gelöscht.
Das Double Opt-In basiert auf dem Single Opt-In, enthält aber eine weitere Prüfinstanz. Nachdem der registrierte Nutzer den Bestätigungslink aufgeruft hat ist der Login noch nicht aktiv (Der Siteroles-Nutzeraccount wird in den Status ratification gesetzt). Der Administrator erhält eine Mail über die erfolgreiche Registrierung. Dieser kann nun den Login des Nutzers aktivieren.
<a href="<ty:siteroles mode="optinout"><ty-siteroles:optinLink/></ty:siteroles>">Registrierung jetzt bestätigen</a>
<a href="<ty:siteroles mode="optinout"><ty-siteroles:optoutLink/></ty:siteroles>">Registrierung nicht bestätigen</a>
<div> <ty:content id="text">Freischaltung Deines Accounts</ty:content> <ty:siteroles mode="error" name="optin_success"> <ty:content id="optin_success"><p>Ihre Registrierung war erfolgreich.</p></ty:content> </ty:siteroles> <ty:siteroles mode="error" name="optin_failure"> <ty:content id="optin_failure"><p>Bei der Freischaltung Ihres Benutzerkontos ist ein Fehler aufgetreten....</p></ty:content> <ty:siteroles mode="error" name="allready_in_status"><ty:content id="allready_in_status"><p>Sie sind bereits freigeschalten.</p></ty:content></ty:siteroles> <ty:siteroles mode="error" name="user_not_found"><ty:content id="user_not_found"><p>Dieses Konto existiert nicht. Wahrscheinlich ist der Link nicht korrekt.</p></ty:content></ty:siteroles> <ty:siteroles mode="error" name="wrong_signature"><ty:content id="wrong_signature"><p>Der aufgerufene Link ist nicht korrekt.</p></ty:content></ty:siteroles> </ty:siteroles> <ty:siteroles mode="error" name="optout_success"><ty:content id="optout_success"><p>Ihre Registrierung wurde storniert.</p></ty:content></ty:siteroles> <ty:siteroles mode="error" name="optout_error"> <ty:content id="optout_error"><p>Ihre Registrierung konnte nicht storniert werden.</p></ty:content> <ty:siteroles mode="error" name="user_not_found"><ty:content id="user_not_found"><p>Dieses Konto existiert nicht. Wahrscheinlich ist der Link nicht korrekt.</p></ty:content></ty:siteroles> <ty:siteroles mode="error" name="wrong_signature"><ty:content id="wrong_signature"><p>Der aufgerufene Link ist nicht korrekt.</p></ty:content></ty:siteroles> </ty:siteroles> </div>
Das folgende Formular meldet den Nutzer vom System ab und springt zur Standardseite der Webseite. In den Richtlinien der Nutzergruppe muss für das Modul siteroles das Recht „logout“ aktiviert sein.
<ty:siteroles mode="loggedin">
<form action="<?php echo tyGetURLByTopic($tyConfig['modules']['nav']['defaultTopic']);?>" method="post" name="logoutForm">
<input type="submit" name="logout" value="Abmelden" />
</form>
</ty:siteroles>
oder
<a href="<?php echo $_SERVER["REQUEST_URI"]; echo (!empty($_SERVER['QUERY_STRING'])?"&logout=1":"?logout=1"); ?>" target="_self">Logout</a>
<ty:formmanager id="profile" dbField="user_id" dbValue="<?php echo $_SESSION['subject_id'];?>" />
Alle für einen Nutzer in den sitroles-Attributen gespeicherten Daten können im angemeldeten Zustand z.B. zur Verwendung in Formularen ausgelesen werden.
<ty:siteroles mode="attributes"> <ty-attribute:name/> :<ty-attribute:value/><br/> </ty:siteroles>
<ty:siteroles mode="attribut-value" name="name">
<ty-siteroles:value/>
</ty:siteroles>
<ty:siteroles mode="roles">
<ty-role:name/><br/>
</ty:siteroles>
<form id="kontaktformular" method="post"> <label for="vorname">Vorname</label><br /> <input id="vorname" name="vorname" type="text" value="<ty:siteroles mode="attribut-value" name="vorname"><ty-siteroles:value/></ty:siteroles>" /> <label for="nachname">Nachname</label><br /> <input id="nachname" name="nachname" type="text" value="<ty:siteroles mode="attribut-value" name="nachname"><ty-siteroles:value/></ty:siteroles>" /> <label for="email">E-Mail</label><br /> <input id="email" name="email" type="text" value="<ty:siteroles mode="attribut-value" name="email"><ty-siteroles:value/></ty:siteroles>" /> <label for="nachricht">Ihre Nachricht</label><br /> <textarea id="nachricht" name="nachricht">Ihre Nachricht...</textarea> <button type="submit">Absenden</button> </form>
Ausgabe von (Quell)Text, wenn ein Nutzer in einer bestimmten Rolle angemeldet ist:
<ty:siteroles mode="loggedin">
<ty:siteroles mode="inrole" role="bestimmte_rolle">
<p>Nur für angemeldete Nutzer von "bestimmte_rolle" sichtbar.</p>
</ty:siteroles>
</ty:siteroles>
Die Beispieldatei zeigt ein Formular zum ändern des Benutzerprofils. Zu beachten ist, dass der Button zum Absenden des Formulars im Attribut „name“ den Wert „siteroles_save“ zugewiesen bekommt.
Zum Zusenden eines neuen Passwortes muss der Nutzer eine im System existierende E-Mail-Adresse über folgendes Formular angeben:
<ty:siteroles mode="forgot">
<form action="#" method="post">
<!-- Fehlermeldung, falls Nutzer nicht existiert -->
<ty:siteroles mode="error" name="forgot_failure_exists">
<div class="error">Es existiert kein Nutzer mit der angegebenen E-Mail-Adresse!</div>
</ty:siteroles>
<!-- Anzeige nach erfolgreichem Versand -->
<ty:siteroles mode="noerror" name="forgot_failure_exists">
<div class="noerror">Sie erhalten in Kürze eine E-Mail mit Ihrem neuen Passwort.</div>
</ty:siteroles>
<!-- Formularelemente -->
<label for="email">E-Mail</label><br />
<input id="email" type="text" name="email" value="E-Mail-Adersse" /><br/>
<button type="submit" name="forgot">Neues Passwort zusenden</button>
</form>
</ty:siteroles>
Nutzerattribute, email und das neu gesetzte passwort werden in der Form {firstname}, {lastname} ersetzt. Die Mailvorlage untersützt auch die Syntax: per XML Tag <ty-mail:firstname/>, <ty-mail:lastname/>
Ihre neuen Zugangsdaten:
Login: {email}
Passwort: {password}
oder:
Ihre neuen Zugangsdaten: Login: <ty-mail:email/> Passwort: <ty-mail:password/>
Anm.: Unterschiede bei der Verwendung der Tags. Die Syntax mit geschweiften Klammern wird, sofern dieses Nutzerattribut nicht vorhanden ist nicht ersetzt. Die Syntax mit xml-Tags wird hingegen immer ersetzt, auch wenn das abzufragende Attribut nicht bekannt ist.
Daten eines angemeldeten Nutzers können in Verbindung mit dem myty Shop Modul genutzt werden. Es lassen sich alle Daten in ein Formular für Rechnungsadresse übernehmen. Dazu ist allerdings eine eine Rolle notwendig, in welcher die Nutzerdaten in vorgegeben Attributen hinterlegt werden, die dann über ty-Shop-Tags in Eingabefelder ausgelesen werden können. Die in in der Rolle zu nutzenden Attributnamen sind fett markiert:
Das folgende Beispiel erzeugt im Bestellvorgang ein Formular zur Eingabe der Nutzerdaten. Die ty-Shop:user… Tags erzeugen Texteingabefelder, in welche beim angemeldete Nutzer Nutzerdaten aus siteroles (wenn vorhanden) übernommen werden.
<ty:shop element="user" type="form">
<label for="tyShopFirstname">Vorname</label><br />
<ty-Shop:userFirstname id="tyShopFirstname" />
<label for="tyShopLastname">Nachname</label><br />
<ty-Shop:userLastname id="tyShopLastname" />
<label for="tyShopCompany">Firma</label><br />
<ty-Shop:userCompany id="tyShopCompany" />
<label for="tyShopAddress">Strasse</label><br />
<ty-Shop:userAddress id="tyShopAddress" />
<label for="tyShopAddressNr">Strasse</label><br />
<ty-Shop:userAddressNr id="tyShopAddressNr" />
...
<ty-Shop:userStoreUserData>Zur Auswahl der Zahlungsart</ty-Shop:userStoreUserData>
</ty:shop>
Ab myty Version 3.5 / 4.0 verfügbar.
Gibt aus wieviele Nutzer sich gerade auf Ihrer Internetseite befinden:
Es befinden sich <ty:siteroles mode="usercount"/> Gäste auf der Seite. oder: Es befinden sich <ty:siteroles mode="usercount" role="Gast"/> Gäste auf der Seite. Nutzer aus meheren Rollen kumuliert ausgeben: Es befinden sich <ty:siteroles mode="usercount" role="Shopkunden,Intern"/> Angemeldete Nutzer auf der Seite
diese Information wird maximal 15 Minuten gespeichert. Verschiedene Nutzer werden über Ihrer session_id identifiziert. Es ist möglich mehrere Rollen anzugeben, um so eine kumulierte Statistik über mehrer Rollen anzuzeigen. Jede session_id wird hier über alle Rollen nur einmal gezählt.
Die folgende PDF-Datei zeigt, wie man Nutzer aus einer CSV-Datei in das myty importiert:
http://www.tycon.info/media/doku/myty%20-%20Nutzerimport.pdf