> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Materialien WEBSALE Partnerprogramm

> Die sieben Vorlagen für ein eigenes Partnerprogramm: die fünf Seiten des Partnerbereichs, die Passwort-E-Mail und die Statistikseite im Shop samt Textdatei.

Ein eigenes Partnerprogramm besteht aus zwei getrennten Teilen. Der **Partnerbereich** ist die Oberfläche, in der sich ein Partner anmeldet, seine Banner holt und seine Provisionen einsieht. Die **Statistikseite** liegt dagegen im Shop und zeigt, welche Produkte über die Banner bestellt wurden.

| Datei | Gehört zu | Zeigt |
| - | - | - |
| `wsaffiluser_login_deu.htm` | Partnerbereich | Anmeldung |
| `wsaffiluser_sendemail_deu.htm` | Partnerbereich | Passwort anfordern |
| `wsaffiluser_sendemail_deu.txt` | Partnerbereich | die E-Mail dazu |
| `wsaffiluser_orders_deu.htm` | Partnerbereich | Bestellungen und Provisionen, zugleich Startseite |
| `wsaffiluser_banners_deu.htm` | Partnerbereich | Bannerauswahl |
| `wsaffiluser_changelogin_deu.htm` | Partnerbereich | Zugangsdaten ändern |
| `ws_affilstat.htm` | Shop | Statistik der bestellten Produkte |
| `ws_affilstat_deu.ini` | Shop | die Texte dazu |

Wie Sie das Partnerprogramm einrichten und die Dateien zuweisen, steht auf der Anleitungsseite. Was die einzelnen Tags leisten, steht in der Referenz.

Wegweiser: [Eigenes Partnerprogramm betreiben](https://dokumentation.websale.de/v8s/marketing-funktionen/eigenes-partnerprogramm-betreiben.md) · Referenz: [Anmeldung und Sitzung](https://dokumentation.websale.de/v8s/referenz/tags/affiluser/anmeldung-und-sitzung.md) · [Bestellungen und Provisionen](https://dokumentation.websale.de/v8s/referenz/tags/affiluser/bestellungen-und-provisionen.md) · [Werbemittel](https://dokumentation.websale.de/v8s/referenz/tags/affiluser/werbemittel.md) · [Zugangsdaten ändern](https://dokumentation.websale.de/v8s/referenz/tags/affiluser/zugangsdaten-aendern.md)

Alle Vorlagen enthalten die funktionalen Elemente und keinerlei Gestaltung. Die Tabellen dienen nur dazu, die Struktur sichtbar zu machen. Ersetzen Sie sie durch Ihr eigenes Markup.

> [!WARNING]
>
> In allen Seiten des Partnerbereichs tragen die `label`-Elemente ein `for`-Attribut, die zugehörigen Eingabefelder aber nur ein `name`-Attribut und kein `id`. Die Verknüpfung greift deshalb nirgends: Ein Klick auf die Beschriftung setzt den Schreibzeiger nicht ins Feld, und Vorleseprogramme nennen das Feld nicht beim Namen.
>
> In den Vorlagen unten ist je Feld ein `id` ergänzt, das denselben Wert trägt wie das `name`-Attribut.

## Der Partnerbereich

Die fünf Seiten hängen über eine gemeinsame Navigationsleiste zusammen, die in vier von ihnen wiederholt wird. Beim Übernehmen lohnt es sich, daraus einen Include-Bereich zu machen.

### Anmeldung

> [accordion] wsaffiluser\_login\_deu.htm
>
> ```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Partnerprogramm - Anmeldung</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <base href="~URL-Template~">
> </head>
>
> <body>
>   <h1>Partnerprogramm</h1>
>   <form action="~AFFILUSER-LoginLink~" method="post">
>     <h2>Anmeldung zum Partnerprogramm</h2>
>
>     {AFFILUSER-SessionLogout}<p>Ihre Sitzung wurde beendet.</p>{/AFFILUSER-SessionLogout}
>     {AFFILUSER-SessionExpired}<p>Ihre Sitzung ist abgelaufen oder ungültig.<br>Bitte melden Sie sich neu an.</p>{/AFFILUSER-SessionExpired}
>     {AFFILUSER-LoginIncorrect}<p>Die Anmeldung war nicht erfolgreich.</p>{/AFFILUSER-LoginIncorrect}
>
>     <label for="~AFFILUSER-LoginLogin_input~">Benutzerkennung:</label>
>     <input type="text" id="~AFFILUSER-LoginLogin_input~" name="~AFFILUSER-LoginLogin_input~" maxlength="40" value="~AFFILUSER-LoginLogin_value~">
>
>     <label for="~AFFILUSER-LoginPasswd_input~">Passwort:</label>
>     <input type="password" id="~AFFILUSER-LoginPasswd_input~" name="~AFFILUSER-LoginPasswd_input~" maxlength="40">
>
>     <input type="submit" name="SendBtn" value="Anmelden">
>
>     {AFFILUSER-RequestPasswordLink}<a href="~AFFILUSER-RequestPasswordLink~">Passwort vergessen?</a>{/AFFILUSER-RequestPasswordLink}
>   </form>
> </body>
> </html>
> ```

Die drei Meldungsklammerungen decken die drei Fälle ab, in denen der Partner wieder auf dieser Seite landet: abgemeldet, Sitzung abgelaufen, Anmeldung fehlgeschlagen. Lassen Sie keine davon weg, sonst steht der Partner ohne Erklärung vor dem Formular.

### Passwort anfordern

> [accordion] wsaffiluser\_sendemail\_deu.htm
>
> ```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Partnerprogramm - Passwort vergessen</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <base href="~URL-Template~">
> </head>
>
> <body>
> <h1>Partnerprogramm</h1>
>
> <form action="~AFFILUSER-SubmitRequestPassword~" method="post">
>   <p>Bei richtiger Angabe Ihrer Benutzerkennung werden Sie zur Anmeldung geleitet. Ihr Passwort wird Ihnen per E-Mail zugesandt.</p>
>   {AFFILUSER-UserNameIncorrect}<p>Ungültige Benutzerkennung.</p>{/AFFILUSER-UserNameIncorrect}
>
>   <label for="~AFFILUSER-Username_input~">Benutzerkennung</label>
>   <input type="text" id="~AFFILUSER-Username_input~" name="~AFFILUSER-Username_input~" maxlength="40" value="">
>
>   <input type="submit" name="SendBtn" value="Passwort anfordern">
>   <a href="~AFFILUSER-ShowLoginLink~">zurück zur Anmeldung</a>
> </form>
>
> </body>
> </html>
> ```

### Die Passwort-E-Mail

> [accordion] wsaffiluser\_sendemail\_deu.txt
>
> ```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> Hallo!
>
> Ihr Passwort lautet: '~AFFILUSER-Password~'
>
> Mit freundlichen Grüßen,
> Ihr ShopTeam
> ```

> [!WARNING]
>
> **Diese E-Mail verschickt das Passwort im Klartext.** Das Tag `~AFFILUSER-Password~` gibt das tatsächliche Passwort aus, was bedeutet, dass es im System wiederherstellbar hinterlegt ist und nicht nur als Prüfwert.
>
> Daraus folgt für den Betrieb:
>
> * Jede dieser E-Mails trägt ein gültiges Passwort unverschlüsselt durch das Netz und bleibt anschließend im Postfach des Partners liegen.
> * Fordert jemand Fremdes das Passwort zu einer bekannten Benutzerkennung an, geht die E-Mail zwar an den Partner, das Passwort ist danach aber nicht erneuert.
> * Weisen Sie Ihre Partner darauf hin, das zugesandte Passwort über "Zugangsdaten ändern" sofort zu ersetzen, und nehmen Sie diesen Hinweis in die E-Mail auf.
>
> Ob sich das Verfahren ändern lässt, klären Sie mit der WEBSALE AG.

### Bestellungen und Provisionen

Diese Seite ist zugleich die Startseite des Partnerbereichs.

> [accordion] wsaffiluser\_orders\_deu.htm
>
> ```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Partnerprogramm - Bestelldatenübersicht</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <base href="~URL-Template~">
> </head>
>
> <body>
> <form name="form1" method="post" action="~AFFILUSER-OrdersLink~">
>   <h1>Partnerprogramm</h1>
>
>   <!-- Navigationsleiste, auf vier Seiten identisch -->
>   <a href="~AFFILUSER-LogoutLink~">Abmelden</a>
>   <a href="~AFFILUSER-BannersLink~">Bannerauswahl</a>
>   {AFFILUSER-ChangeLoginLink}<a href="~AFFILUSER-ChangeLoginLink~">Zugangsdaten ändern</a>{/AFFILUSER-ChangeLoginLink}
>   <a href="~AFFILUSER-BannerStatisticLink~" target="_blank">Statistik ansehen</a>
>   {AFFILUSER-DynamicBanner}
>     <a href="~AFFILUSER-DynamicBanner~" target="_blank">Produkte aussuchen, die Sie bewerben möchten</a>
>   {/AFFILUSER-DynamicBanner}
>
>   <h2>Bestelldaten für den Partner ~AFFILUSER-LoginName~</h2>
>
>   <h3>Auswahl des Zeitraums</h3>
>   <table>
>     <tr>
>       <td>von</td>
>       <td>~AFFILUSER-OrdersSelectTimeFrom~</td>
>     </tr>
>     <tr>
>       <td>bis</td>
>       <td>~AFFILUSER-OrdersSelectTimeTo~</td>
>     </tr>
>     <tr>
>       <td>oder alternativ</td>
>       <td><select name="~AFFILUSER-OrdersSelectSpecial_input~">
>           <option value="~AFFILUSER-OrdersSelectSpecialNoSpecial~"></option>
>           <option value="~AFFILUSER-OrdersSelectSpecialToday~">Heute</option>
>           <option value="~AFFILUSER-OrdersSelectSpecialYesterday~">Gestern</option>
>           <option value="~AFFILUSER-OrdersSelectSpecialThisWeek~">Diese Woche</option>
>           <option value="~AFFILUSER-OrdersSelectSpecialLastWeek~">Letzte Woche</option>
>           <option value="~AFFILUSER-OrdersSelectSpecialThisMonth~">Diesen Monat</option>
>           <option value="~AFFILUSER-OrdersSelectSpecialLastMonth~">Letzten Monat</option>
>           <option value="~AFFILUSER-OrdersSelectSpecialThisYear~">Dieses Jahr</option>
>         </select></td>
>     </tr>
>   </table>
>   <input type="submit" name="Abschicken" value="Anzeigen">
>
>   <table>
>     <tr>
>       <td>Anzahl Bestellungen im gewählten Zeitraum:</td>
>       <td>~AFFILUSER-OrdersData~</td>
>     </tr>
>     <tr>
>       <td>Konversionsrate im gewählten Zeitraum:</td>
>       <td>~AFFILUSER-ConversionRate~</td>
>     </tr>
>     <tr>
>       <td>Summe der Provisionsbeträge im gewählten Zeitraum:</td>
>       <td>~AFFILUSER-OrdersSumComissions~ ~AFFILUSER-Currency~</td>
>     </tr>
>   </table>
>
>   {!AFFILUSER-OrdersData}
>     <p>Im gewählten Zeitraum liegen keine Bestellungen vor.</p>
>   {/!AFFILUSER-OrdersData}
>
>   {AFFILUSER-OrdersData}
>   <img src="~AFFILUSER-OrdersGraphicLink~" alt="Verlauf der Bestellungen im gewählten Zeitraum">
>   ~AFFILUSER-BannersPerPage(100)~
>   {AFFILUSER-OrdersPaging}~AFFILUSER-OrdersPaging~{/AFFILUSER-OrdersPaging}
>
>   <table>
>     <tr>
>       <th>Bestellnummer</th>
>       <th>Datum und Uhrzeit</th>
>       <th>Warenwert bei Bestellung</th>
>       <th>Provisionsfähiger Warenwert</th>
>       <th>Kommentar zum Provisionsbetrag</th>
>       <th>Vereinbarte Provision</th>
>       <th>Provisionsbetrag</th>
>       <th>Status</th>
>     </tr>
>     {@AFFILUSER-OrdersData}
>     <tr class="{AFFILUSER-OrdersPayedFee}payed{/AFFILUSER-OrdersPayedFee}{!AFFILUSER-OrdersPayedFee}unpayed{/!AFFILUSER-OrdersPayedFee}">
>       <td>~AFFILUSER-OrdersOrderNumber~</td>
>       <td>~AFFILUSER-OrdersDateTime~</td>
>       <td>{AFFILUSER-OrdersFeeTypePercent}~AFFILUSER-OrdersSubTotal~{/AFFILUSER-OrdersFeeTypePercent}</td>
>       <td>{AFFILUSER-OrdersFeeTypePercent}~AFFILUSER-OrdersAdjustedSubTotal~{/AFFILUSER-OrdersFeeTypePercent}</td>
>       <td>~AFFILUSER-OrdersComment~</td>
>       <td>~AFFILUSER-OrdersFee~
>         {AFFILUSER-OrdersFeeTypePercent} Prozent{/AFFILUSER-OrdersFeeTypePercent}
>         {AFFILUSER-OrdersFeeTypeFix} ~AFFILUSER-Currency~{/AFFILUSER-OrdersFeeTypeFix}</td>
>       <td>~AFFILUSER-OrdersCommision~ ~AFFILUSER-Currency~</td>
>       <td>{AFFILUSER-OrdersPayedFee}bereits ausbezahlt{/AFFILUSER-OrdersPayedFee}
>           {!AFFILUSER-OrdersPayedFee}noch nicht ausbezahlt{/!AFFILUSER-OrdersPayedFee}</td>
>     </tr>
>     {/@AFFILUSER-OrdersData}
>   </table>
>   {/AFFILUSER-OrdersData}
> </form>
> </body>
> </html>
> ```

> [!WARNING]
>
> Den Auszahlungsstatus allein über die Hintergrundfarbe der Zeile zu zeigen, reicht nicht: Partner, die Farben schlecht unterscheiden, können die Zeilen dann nicht auseinanderhalten. Die Vorlage oben verzichtet deshalb auf Farbgebung im Markup, setzt stattdessen eine Klasse auf die Zeile und schreibt den Status zusätzlich als Text in eine eigene Spalte.

In der Spalte "Vereinbarte Provision" steht die Währung durchgehend als `~AFFILUSER-Currency~`. Schreiben Sie dort kein festes "Euro" hinein, sonst stimmt die Angabe in einem Shop mit anderer Währung nicht mehr.

Die beiden Tags `AFFILUSER-OrdersSumComissions` und `AFFILUSER-OrdersCommision` sind im Shopsystem mit genau diesen Tippfehlern benannt. Sie bleiben deshalb unverändert.

### Bannerauswahl

> [accordion] wsaffiluser\_banners\_deu.htm
>
> ```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Partnerprogramm - Bannerauswahl</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <base href="~URL-Template~">
> </head>
>
> <body>
>   <h1>Partnerprogramm</h1>
>
>   <!-- Navigationsleiste, auf vier Seiten identisch -->
>   <a href="~AFFILUSER-OrdersLink~">Zurück zur Bestelldatenübersicht</a>
>   <a href="~AFFILUSER-LogoutLink~">Abmelden</a>
>   {AFFILUSER-ChangeLoginLink}<a href="~AFFILUSER-ChangeLoginLink~">Zugangsdaten ändern</a>{/AFFILUSER-ChangeLoginLink}
>   <a href="~AFFILUSER-BannerStatisticLink~" target="_blank">Statistik ansehen</a>
>   {AFFILUSER-DynamicBanner}
>     <a href="~AFFILUSER-DynamicBanner~" target="_blank">Produkte aussuchen, die Sie bewerben möchten</a>
>   {/AFFILUSER-DynamicBanner}
>
>   ~AFFILUSER-BannersPerPage(10)~
>   <h2>Bannerauswahl für den Partner ~AFFILUSER-LoginName~</h2>
>
>   {AFFILUSER-BannersData}
>     {AFFILUSER-BannersPaging}~AFFILUSER-BannersPaging~{/AFFILUSER-BannersPaging}
>     <h3>Wählen Sie aus den folgenden Bannern aus:</h3>
>
>     {@AFFILUSER-BannersData}
>     <table>
>       {AFFILUSER-BannersCaption}
>       <tr>
>         <td>
>           {AFFILUSER-BannersBannerTypeGraph}Text des title-Attributs{/AFFILUSER-BannersBannerTypeGraph}
>           {AFFILUSER-BannersBannerTypeText}Beschriftung{/AFFILUSER-BannersBannerTypeText}
>         </td>
>         <td>~AFFILUSER-BannersCaption~</td>
>       </tr>
>       {/AFFILUSER-BannersCaption}
>
>       {AFFILUSER-BannersFile}
>       <tr>
>         <td>Banner</td>
>         <td>~AFFILUSER-BannersHtmlFragmentSSL~</td>
>       </tr>
>       {/AFFILUSER-BannersFile}
>
>       <tr>
>         <td>Ziel, also was beworben wird</td>
>         <td>
>           {AFFILUSER-BannersTargetTypeSubShop}Shop{/AFFILUSER-BannersTargetTypeSubShop}
>           {AFFILUSER-BannersTargetTypeProduct}Produkt{/AFFILUSER-BannersTargetTypeProduct}
>         </td>
>       </tr>
>
>       {AFFILUSER-BannersTargetTypeProduct}
>         {AFFILUSER-BannersProdName}
>         <tr>
>           <td>Dieses Produkt wird beworben</td>
>           <td>~AFFILUSER-BannersProdName~</td>
>         </tr>
>         {/AFFILUSER-BannersProdName}
>
>         <tr>
>           <td>Produktbild</td>
>           <td>
>             {AFFILUSER-BannersThumbnailUrl}<img src="~AFFILUSER-BannersThumbnailUrlSSL~" alt="~AFFILUSER-BannersProdName~">{/AFFILUSER-BannersThumbnailUrl}
>             {!AFFILUSER-BannersThumbnailUrl}Kein Produktbild vorhanden{/!AFFILUSER-BannersThumbnailUrl}
>           </td>
>         </tr>
>       {/AFFILUSER-BannersTargetTypeProduct}
>
>       {AFFILUSER-BannersComment}
>       <tr>
>         <td>Hinweis des Shopbetreibers</td>
>         <td>~AFFILUSER-BannersComment~</td>
>       </tr>
>       {/AFFILUSER-BannersComment}
>
>       <tr>
>         <td>Quellcode für Ihre Website zum Kopieren</td>
>         <td><textarea rows="4" cols="70" readonly>~AFFILUSER-BannersHtmlFragmentSSL~</textarea></td>
>       </tr>
>     </table>
>     {/@AFFILUSER-BannersData}
>   {/AFFILUSER-BannersData}
> </body>
> </html>
> ```

> [!WARNING]
>
> Die bisherige Vorlage zeigt den Banner in der Vorschau mit `~AFFILUSER-BannersHtmlFragmentSSL~`, legt dem Partner zum Herauskopieren aber die unverschlüsselte Fassung `~AFFILUSER-BannersHtmlFragment~` in das Textfeld. Bindet der Partner diesen Code auf seiner verschlüsselten Seite ein, blockieren Browser den Banner als gemischten Inhalt, und die Werbung erscheint gar nicht.
>
> In der Vorlage oben steht an beiden Stellen die SSL-Fassung.
>
> Zwei Klammerungen waren in sich selbst verschachtelt: `{AFFILUSER-BannersThumbnailUrl}` und `{AFFILUSER-BannersComment}` standen jeweils noch einmal innerhalb ihres eigenen Bereichs. Die zugehörigen Gegenklammerungen `{!…}` konnten deshalb nie greifen, der Hinweis "Kein Thumbnail vorhanden" erschien nie. Hier aufgelöst.

Die Klammerung `{AFFILUSER-BannersBannerTypeFlash}` ist in der Vorlage oben entfernt. Flash wird von keinem aktuellen Browser mehr ausgeführt, ein Flash-Banner erscheint beim Partner also nicht. Das Tag selbst gibt es weiterhin, falls Sie Altbestände kennzeichnen wollen.

### Zugangsdaten ändern

> [accordion] wsaffiluser\_changelogin\_deu.htm
>
> ```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Partnerprogramm - Zugangsdaten ändern</title>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
> <base href="~URL-Template~">
> </head>
>
> <body>
>   <h1>Partnerprogramm</h1>
>
>   <!-- Navigationsleiste, auf vier Seiten identisch -->
>   <a href="~AFFILUSER-OrdersLink~">Zurück zur Bestelldatenübersicht</a>
>   <a href="~AFFILUSER-LogoutLink~">Abmelden</a>
>   <a href="~AFFILUSER-BannersLink~">Bannerauswahl</a>
>   <a href="~AFFILUSER-BannerStatisticLink~" target="_blank">Statistik ansehen</a>
>   {AFFILUSER-DynamicBanner}
>     <a href="~AFFILUSER-DynamicBanner~" target="_blank">Produkte aussuchen, die Sie bewerben möchten</a>
>   {/AFFILUSER-DynamicBanner}
>
>   <form name="listform" method="post" action="~AFFILUSER-ChangeLoginSubmit~">
>     <h2>Zugangsdaten ändern</h2>
>
>     {AFFILUSER-ChangeLoginUsernameInUse}<p>Die Benutzerkennung ist bereits in Verwendung.</p>{/AFFILUSER-ChangeLoginUsernameInUse}
>     {AFFILUSER-ChangeLoginPasswordError}<p>Das neue Passwort und die Wiederholung stimmen nicht überein.</p>{/AFFILUSER-ChangeLoginPasswordError}
>     {AFFILUSER-ChangeLoginSavedChanges}<p>Die Änderungen wurden übernommen.</p>{/AFFILUSER-ChangeLoginSavedChanges}
>     {AFFILUSER-ChangeLoginPasswordShort}<p>Das neue Passwort ist zu kurz.</p>{/AFFILUSER-ChangeLoginPasswordShort}
>     {AFFILUSER-ChangeLoginLoginShort}<p>Die neue Benutzerkennung ist zu kurz.</p>{/AFFILUSER-ChangeLoginLoginShort}
>
>     <label for="~AFFILUSER-ChangeLoginName_input~">Neue Benutzerkennung (mindestens 6 Zeichen):</label>
>     <input type="text" id="~AFFILUSER-ChangeLoginName_input~" name="~AFFILUSER-ChangeLoginName_input~" value="~AFFILUSER-ChangeLoginName_value~">
>
>     <label for="~AFFILUSER-ChangeLoginPass1_input~">Neues Passwort (mindestens 6 Zeichen):</label>
>     <input type="password" id="~AFFILUSER-ChangeLoginPass1_input~" name="~AFFILUSER-ChangeLoginPass1_input~" value="~AFFILUSER-ChangeLoginPass1_value~">
>
>     <label for="~AFFILUSER-ChangeLoginPass2_input~">Wiederholung des neuen Passworts:</label>
>     <input type="password" id="~AFFILUSER-ChangeLoginPass2_input~" name="~AFFILUSER-ChangeLoginPass2_input~" value="~AFFILUSER-ChangeLoginPass2_value~">
>
>     <input type="submit" name="SendBtn" value="Daten ändern">
>   </form>
> </body>
> </html>
> ```

Diese Seite zeigt den Link "Zugangsdaten ändern" in der eigenen Navigationsleiste nicht mehr an, weil der Partner bereits dort ist. Auf den anderen drei Seiten bleibt er.

> [!WARNING]
>
> Die beiden Passwortfelder tragen ein `value`-Attribut mit dem eingegebenen Wert. Nach einem Fehlversuch steht das neue Passwort damit im Quelltext der Seite. Wenn Sie das nicht wollen, lassen Sie die beiden `value`-Angaben weg. Der Partner muss dann beide Felder neu ausfüllen.

## Die Statistikseite im Shop

Diese Seite erreicht der Partner über "Statistik ansehen" und sieht darin, welche Produkte über seine Banner bestellt wurden. Sie besteht aus zwei Dateien: dem Template und einer Textdatei, deren Einträge im Template als `FMSG-`Tags erscheinen.

> [accordion] ws\_affilstat.htm
>
> ```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <title>Partnerprogramm ~FMSG-Title~</title>
> <base href="~baseurl~">
> <meta http-equiv="Content-Type" content="text/html; charset=~charset~">
> <script type="text/javascript" src="/$WS/ws_sysdata/js/osb/jquery.min.js"></script>
> <script type="text/javascript" src="/$WS/ws_sysdata/js/osb/jquery-ui.min.js"></script>
> <script type="text/javascript" src="/$WS/ws_sysdata/js/osb/ws-servicedesign.js"></script>
>
> <!-- Styles des WEBSALE Online-Servicebereichs, die der Datumswähler benötigt -->
> <link rel="stylesheet" type="text/css" href="https://secure.c1.websale.net/servicebereich/_design/ws-servicedesign.css">
>
> <script type="text/javascript">
> var firstClick = true;
>
> function checkClick() {
>    var res = firstClick;
>    firstClick = false;
>    return res;
> }
>
> function mouseLeaveEnd() {
>    $("#enddate").datepicker("hide");
> }
>
> function mouseLeaveStart() {
>    $("#startdate").datepicker("hide");
> }
>
> function initDatePicker() {
>    $.datepicker.setDefaults($.datepicker.regional['de']);
>
>    $("#startdate").datepicker({maxDate:'+0d',minDate:'~mindate~',constrainInput:true,buttonText:'~FMSG-Calendar~',buttonImage:'https://secure.c1.websale.net/servicebereich/_design/img/kalender.png',buttonImageOnly:true,showOn:'button',numberOfMonths:[2,2],stepMonths:4});
>    $("#enddate").datepicker({maxDate:'+0d',minDate:'~mindate~',constrainInput:true,buttonText:'~FMSG-Calendar~',buttonImage:'https://secure.c1.websale.net/servicebereich/_design/img/kalender.png',buttonImageOnly:true,showOn:'button',numberOfMonths:[2,2],stepMonths:4});
>
>    $("#enddate").datepicker("widget").mouseleave(mouseLeaveEnd);
>    $("#startdate").datepicker("widget").mouseleave(mouseLeaveStart);
> }
>
> $(document).ready(function() {
>    initDatePicker();
>    $(".ui-datepicker-trigger").css("border", "1px");
> });
> </script>
> </head>
>
> <body>
> <h1>Partnerprogramm-Statistik</h1>
>
> <h2>~FMSG-evalution~</h2>
> <form method="post" action="~cgiurl~" name="MainForm" onsubmit="return checkClick();">
>   <h3>~FMSG-chooseselection~</h3>
>   <table>
>     <tr>
>       <td>
>         <label for="startdate">~FMSG-of~</label>
>         <input id="startdate" type="text" name="startdate" value="~startdate~">
>       </td>
>       <td>
>         <label for="enddate">~FMSG-up~</label>
>         <input id="enddate" type="text" name="enddate" value="~enddate~">
>       </td>
>     </tr>
>     <tr>
>       <td><label for="alttime">~FMSG-chooseperiod~</label></td>
>       <td><select id="alttime" name="alttime">
>           <option value="0"></option>
>           <option value="1">~FMSG-today~</option>
>           <option value="2">~FMSG-yesterday~</option>
>           <option value="8">~FMSG-lastweekday~</option>
>           <option value="9">~FMSG-lfourweekday~</option>
>           <option value="3">~FMSG-thisweek~</option>
>           <option value="4">~FMSG-lastweek~</option>
>           <option value="5">~FMSG-thismonth~</option>
>           <option value="6">~FMSG-lastmonth~</option>
>           <option value="7">~FMSG-thisyear~</option>
>         </select></td>
>     </tr>
>   </table>
>   <input name="ShowBtn" type="submit" value="~FMSG-random~">
> </form>
>
> ~OutPutDivider~
>
> {ProductData}
>   <table>
>     <tr>
>       <th> </th>
>       <th>~THCount~</th>
>       <th>~THNumber~</th>
>       <th>~THName~</th>
>     </tr>
>     {@ProductList}
>     <tr>
>       <td>~num~</td>
>       <td>~count~</td>
>       <td>~number~</td>
>       <td>~name~</td>
>     </tr>
>     {/@ProductList}
>   </table>
> {/ProductData}
>
> {NoHits}
>   <p>~FMSG-searchresinfo~</p>
>   <p>~FMSG-nosuitabledatarecordsfound~</p>
> {/NoHits}
> </body>
> </html>
> ```

> [!WARNING]
>
> Das Template lädt das Stylesheet des Datumswählers und dessen Kalendersymbol von `secure.c1.websale.net`, also von einem fremden Rechner. Ändert sich dort etwas, verliert der Datumswähler seine Gestaltung oder sein Symbol, ohne dass an Ihrem Shop etwas geschehen ist.
>
> Legen Sie beide Dateien besser in Ihrem eigenen Shopverzeichnis ab und passen Sie die beiden Adressen an.

Die Textdatei definiert den Eintrag `evalution`, also "evaluation" ohne das erste `a`. Das Template verwendet denselben Schreibfehler, deshalb passen beide zusammen und es funktioniert. Ändern Sie ihn nur, wenn Sie ihn in beiden Dateien ändern.

> [accordion] ws\_affilstat\_deu.ini
>
> ```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
> <FreeMessages-Txt>         # Präfix "FMSG-" in den Templates
> Title = Produkte
>
> caution = Achtung
> notsupported = Ihr Browser unterstützt kein JavaScript.
> arenotavailable = Teile der Funktionen dieser Seite stehen deshalb nicht zur Verfügung.
> statisticcreated = Die Statistik wird erstellt
> wait = und steht in Kürze zur Verfügung
> evalution = Über Ihre Banner bestellte Produkte
> display = Anzeige von:
> forsubshops = für Subshops
> chooseselection = Bitte wählen Sie einen Zeitraum
> of = von
> up = bis
> lessdiscount = abzüglich gewährter Rabatte
> chooseperiod = alternative Auswahl des Zeitraums
>
> today = Heute
> yesterday = Gestern
> lastweekday = Heute vor einer Woche
> lfourweekday = Heute vor vier Wochen
> thisweek = Diese Woche
> lastweek = Letzte Woche
> thismonth = Dieser Monat
> lastmonth = Letzter Monat
> thisyear = Dieses Jahr
>
> amountformatting = Betrags-Formatierung
> preferences = Einstellungen
> maximumnumberofhits = Maximale Anzahl Treffer:
> startwith = beginnt mit:
> and = und
> biggest = größter
> smallest = kleinster
> random = Bestellte Produkte anzeigen
> quantitysum = Summe Menge:
> TurnOvSum = Summe Umsatz:
> totalsum = Summe Warenwert:
> average = Durchschnitt:
> downloadofthesearchresults = Download der Suchtreffer:
> searchresinfo = Angezeigte Statistik
> order = Bestellungen
> totalnumber = Gesamtzahl:
> stuffwithcoupons = Bestellungen mit Gutschein:
> purchasedquantity = Anzahl bestellter Artikel:
> amounts = Beträge
> grossincome = Gesamtumsatz:
> sumgranteddiscounts = Summe gewährter Rabatte:
> orderer = Besteller
> withanorder = mit einer Bestellung:
> withseveralorders = mit mehreren Bestellungen:
> multipleorderer = Mehrfachbesteller
> numberoforderers = Anzahl Besteller
> withnumberoforderers = mit Anzahl Bestellungen
> nosuitabledatarecordsfound = Für den gewählten Zeitraum liegen keine Bestellungen vor
> Sorting = Sortierung
> currentstat = Angezeigte Statistik
> Download = Download
> Referer = Referer
> TurnOver = Umsatz
> MerchVal = Warenwert
> vouchersum = Summe der eingelösten Gutscheine:
> Resellersum = Summe der Reseller-Aufschläge:
> Calendar = Kalender
> </FreeMessages-Txt>
> ```


## Related topics

- [Eigenes Partnerprogramm betreiben](https://dokumentation.websale.de/v8s/marketing-funktionen/eigenes-partnerprogramm-betreiben.md)
- [Anbindung an externe Partnerprogramme](https://dokumentation.websale.de/v8s/marketing-funktionen/anbindung-an-externe-partnerprogramme.md)
- [Materialien Tracking-Schnittstelle](https://dokumentation.websale.de/v8s/materialien/materialien-tracking-schnittstelle.md)
- [Materialien Produktmenüs](https://dokumentation.websale.de/v8s/materialien/materialien-produktmenues.md)
- [Materialien Parameterentfernung](https://dokumentation.websale.de/v8s/materialien/materialien-parameterentfernung.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.