Login

Richtlinien

Damit der Nutzer sich anmelden kann muss er das Recht Siteroles/frontend:Login und Siteroles/frontend:Logout haben. Die Registrierung muss für den Gast-Benutzer zusätzlich Freigeschaltet werden, hierfür muss die Gast Rolle das Recht Siteroles/frontend:Login und Siteroles/frontend:register besitzen.

Login-Formular

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.

<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 $_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 } ?>

Registrierformular

Beispielbeschreibung:

Gibt ein Registrierungsformular mit 3 Eingabefeldern (Email, Passwort, Name) und einer Auswahlbox (Land) aus. Beim abschicken wird der neue Nutzer der Rolle „websiteuser“ zugewiesen.

Wichtig ist, dass unter „attributes“ alle Attribute angegeben werden, die gespeichert werden sollen. Desweiteren muss der Submitbutton immer den Namen „siteroles_register“ tragen, damit das Formular auch als Registrierungsformular erkannt wird. Beispielquellcode:

<ty:siteroles mode="register" attributes="email,passwort,name,land" role="websiteuser">
<form action="register.php?topic=registerconfirm" method="post">

<table>
<tr>
<td width="250">Email</td>
<td><input type="text" name="email" value=""></td>
</tr>

<tr>
<td>Passwort</td>
<td><input type="password" name="passwort" value=""></td>
</tr>

<tr>
<td>Name</td>
<td><input type="text" name="name" value=""></td>
</tr>

<tr>
<td>Land</td>
<td><select name="land">
<option value>Deutschland</option>
<option value>Österreich</option>
<option value>Schweiz</option>
</select>
</td>
</tr>
</table>
<br/>

<input type="submit" name="siteroles_register" value="registrieren"></form>
</ty:siteroles>

Logout

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>

Siteroles in der Anwendung

Nutzerdaten Auslesen

Alle für einen Nutzer in den sitroles-Attributen gespeicherten Daten können im angemeldeten Zustand z.B. zur Verwendung in Formularen ausgelesen werden.

Alle Benutzerdaten auslesen
<ty:siteroles mode="attributes">
   <ty-attribute:name/> :<ty-attribute:value/><br/>
</ty:siteroles>
Einzelne Attribute auslesen:
   <ty:siteroles mode="attribut-value" name="name">
      <ty-siteroles:value/>
   </ty:siteroles>
Auslesen aller Rollen, welche dem aktuell angemeldeten Benutzer zugeordnet sind
  <ty:siteroles mode="roles">
     <ty-role:name/><br/>
  </ty:siteroles>
Beispiel - Daten in ein Formular auslesen
<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>

Rollenspezifische Bereiche

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>

Beispiel Profil ändern

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.

Formular zum Anfordern eines neuen Passwortes

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>

Mailvorlage zum Anfordern eines neuen Passwortes

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.

Siteroles in Verbindung mit dem myty Shop Modul

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:

  • Anrede - salutation - <ty-Shop:userSalutation id=„tyShopSalutation“ />
  • Titel - title - <ty-Shop:userTitle id=„tyShopTitle“ />
  • Nachname - lastname - <ty-Shop:userLastname id=„tyShopLastname“ />
  • Vorname - firstname - <ty-Shop:userFirstname id=„tyShopFirstname“ />
  • Firma - company - <ty-Shop:userCompany id=„tyShopCompany“ />
  • Strasse - address - <ty-Shop:userAddress id=„tyShopAdress“ />
  • Hausnr. - address_nr - <ty-Shop:userAddressNr id=„tyShopAdressNr“ />
  • PLZ - zip - <ty-Shop:userZip id=„tyShopZip“ />
  • Ort - city - <ty-Shop:userCity id=„tyShopCity“ />
  • Land - country - <ty-Shop:userCountry id=„tyShopCountry“ />
  • Telefon - phone - <ty-Shop:userPhone id=„tyShopPhone“ />
  • Fax - fax - <ty-Shop:userFax id=„tyShopFax“ />
  • E-Mail - email - <ty-Shop:userEmail id=„tyShopEmail“ />
  • Geburtstag - birthday - <ty-Shop:userBirthday id=„tyShopBirthday“ />
  • frei definierbar - additional - <ty-Shop:userAdditional id=„tyShopAdditional“ />
Beispiel

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>

Nutzerstatistik

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.

Nutzerimport

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

 
site_roles.txt · Zuletzt geändert: 2010/06/07 10:33 von tyconauts
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki