Kundenverwaltung Templates

Fragen zum Erstellen von Templates für webEdition.
mtbrmatze
Senior Member
Beiträge: 136
Registriert: Di 22. Jan 2013, 19:46

Kundenverwaltung Templates

Beitragvon mtbrmatze » Do 24. Nov 2022, 15:39

Guten Tag.

Gibt es irgendwo Dokumentationen oder gar Templates wie man eine Kundenverwaltung aufbaut. Grundsätzlich bräuchte ich Hilfe zu den Szenarien wie: Login, Authentifizierung des Kunden, Passwort vergessen Funktion.

Dies würde mir sehr helfen, zumal ich mit der Kundenverwaltung noch nie in diese Richtung gearbeitet habe.

Danke für Tipps.
Matze

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Kundenverwaltung Templates

Beitragvon Finn » Fr 25. Nov 2022, 14:40

Moin Matze,

folgendes zum Starten:

Du brauchst ein <sessionStart /> oben in deinem Maintemplate, für eine Session.

Dann einen Login, der könnte z.B. so aussehen:

Code: Alles auswählen

<div class="grid-container">
	<div class="grid-y">
		<div class="login">
			<we:ifNotRegisteredUser>
				<we:ifLoginFailed type="all">
					<p class="error padding-top"><strong>Ihr Loginversuch ist fehlgeschlagen. Bitte versuchen Sie es erneut.			</strong></p>
				</we:ifLoginFailed>
			</we:ifNotRegisteredUser>

			<div class="h1 red">Login</div>

			<we:ifRegisteredUser>
				<we:comment>Wenn der Nutzer eingeloggt ist, wird er zurück zur Pflege geleitet...</we:comment>
				<script>
					document.location.href="/pflege/index.php";
				</script>

			</we:ifRegisteredUser>


			<we:ifNotRegisteredUser>

				<div class="form">
					<we:form id="self" method="post" class="login-form">

						<span class="field-legend">Benutzer:</span>
						<we:sessionField name="Username" id="username" type="textinput" class="input" />
						<span class="field-legend">Passwort:</span>
						<we:sessionField name="Password" id="password" type="password" class="input" />
						<input type="submit" value="Einloggen" class="send" />

					</we:form>
				</div>

			</we:ifNotRegisteredUser>
		</div>
	</div>

</div>
In diesem Fall wird mit JS eine Umleitung aufgerufen, wenn der User eingeloggt ist.

Auf der nachfolgenden Seite wird dann wieder geprüft, ob der User eingeloggt ist, falls ja ein Template inkludiert, falls nein wieder zurückgeleitet. Auch hier muss natürlich die Session aktiv sein!

Code: Alles auswählen

<we:ifNotEditmode>

	<we:ifNotRegisteredUser>
		<we:comment>Wenn der Nutzer nicht eingeloggt ist, wird er zum Login geleitet...</we:comment>
		<script>
			document.location.href="/pflege/login.php";
		</script>
		<we:else />
		<we:comment>Wenn der Nutzer eingeloggt ist, wird der Listview aufgerufen</we:comment>
		<we:include id="28" type="template" />
	</we:ifNotRegisteredUser>

	<we:else />

	<div class="grid-container">
		Zum Bearbeiten das Dokument bitte im Frontend aufrufen.
	</div>

</we:ifNotEditmode>
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Kundenverwaltung Templates

Beitragvon Finn » Fr 25. Nov 2022, 14:48

Hier ein Beispiel für das Editieren der eigenen Daten:

Hab ein paar Felder mit XXX ersetzt. Diese Felder kannst du in der Kundenverwaltung definieren.

Dabei gilt: Feldgruppe_Feldname

Auch hier muss die Session verfügbar sein :)

Code: Alles auswählen

<div class="grid-container">
	<div class="grid-x grid-padding-x grid-padding-y">
		<div class="cell large-10 large-offset-1 large-outside">

			<we:saveRegisteredUser changesessiondata="true" protected="Profil_Ausblenden" register="false" />

			<we:ifWritten formname="changeUser" type="customer">
				<div class="grid-x grid-margin-x grid-padding-x grid-margin-y">
					<div class="cell">
						<strong>Die Änderungen wurden erfolgreich gespeichert.</strong>
					</div>
				</div>
			</we:ifWritten>

			<we:ifRegisteredUser>
				<we:form id="self" class="form changeuser" method="post" name="changeUser" nameid="changeUser" enctype="multipart/form-data" data-abide="true" novalidate="novalidate">

					<div data-abide-error class="alert callout" style="display: none;">
						<p>Bitte füllen Sie die markierten Felder aus.</p>
					</div>

					<fieldset>
						<div class="grid-x grid-margin-x grid-padding-x grid-margin-y">
							<div class="cell">
								<h2>
									Öffentlicher Bereich <i style="font-size: 0.5em;">(sind öffentlich sichtbar)</i>
								</h2>
								<hr>
							</div>

							<div class="cell floatbox">
								<label for="cbf-name">Titel</label>
								<we:sessionField name="Profil_Titel" id="profil_titel" type="textinput" tabindex="1" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Vorname*</label>
								<we:sessionField name="Forename" id="surname" type="textinput" tabindex="2" required="true" />
								<span class="form-error">
									Bitte tragen Sie ihren Vornamen ein.
								</span>
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Name*</label>
								<we:sessionField name="Surname" id="surname" type="textinput" tabindex="3" required="true" />
								<span class="form-error">
									Bitte tragen Sie ihren Nachnamen ein.
								</span>
							</div>

							<div class="cell floatbox large-6">
								<label for="cbf-name">Klinik*</label>
								<we:sessionField name="Profil_Klinik" id="profil_klinik" type="textinput" tabindex="4" required="true" />
								<span class="form-error">
									Bitte tragen Sie die Klinik ein.
								</span>
							</div>

							<div class="cell floatbox large-6">
								<label for="cbf-name">Adresse*</label>
								<we:sessionField name="Profil_Adresse" id="profil_adresse" type="textinput" tabindex="5" required="true" />
								<span class="form-error">
									Bitte tragen Sie die Adresse der Klinik ein.
								</span>
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">PLZ Ort</label>
								<we:sessionField name="Profil_PLZ_Ort" id="profil_plz_ort" type="textinput" tabindex="6" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Bundesland*</label>
								<we:sessionField name="Profil_Bundesland" id="profil_bundesland" type="textinput" tabindex="7" required="true" />
								<span class="form-error">
									Bitte tragen Sie das Bundesland ein, in welchem sich die Klinik befindet.
								</span>
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-telefon">Telefon öffentlich*</label>
								<we:sessionField name="Profil_Telefon_1" id="telefon_1" type="textinput" tabindex="8" required="true" />
								<span class="form-error">
									Bitte tragen Sie ihre öffentliche Telefonnummer ein.
								</span>
							</div>
						</div>
						<div class="grid-x grid-margin-x grid-padding-x grid-margin-y">
							<div class="cell floatbox large-6">
								<label for="cbf-telefon">Foto (Wenn möglich mindestens 300px * 350px) </label>
								<we:sessionField name="Profil_Foto" id="profil_foto" type="img" parentid="140" tabindex="9" thumbnailid="2" />
							</div>
						</div>
						<div class="grid-x grid-margin-x grid-padding-x grid-margin-y">
							<div class="cell">
								<h2>
									Interner Bereich <i style="font-size: 0.5em;">(sind für Mitglieder sichtbar)</i>
								</h2>
								<hr>
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Beruf</label>
								<we:sessionField name="Profil_Beruf" id="profil_beruf" type="textinput" tabindex="10" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Fachrichtung</label>
								<we:sessionField name="Profil_Fachrichtung" id="profil_fachrichtung" type="textinput" tabindex="11" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-telefon">Telefon intern</label>
								<we:sessionField name="Profil_Telefon_2" id="telefon_2" type="textinput" tabindex="12" />
							</div>
						</div>
						<div class="grid-x grid-margin-x grid-padding-x grid-margin-y">
							<div class="cell">
								<h2>
									Stammdaten Verein <i style="font-size: 0.5em;">(sind nur für den Verein sichtbar)</i>
								</h2>
								<hr>
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Ich kann XXXX durchführen</label>
								<we:sessionField name="Profil_Peer_review" id="profil_peer_review" type="select" tabindex="13" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">XXXX absolviert?</label>
								<we:sessionField name="Profil_XXXX" id="profil_XXXX" type="select" tabindex="14" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">An Peer-review interessiert?</label>
								<we:sessionField name="Profil_Peer_review" id="profil_peer_review" type="select" tabindex="15" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">XXXX seit*</label>
								<we:sessionField name="Profil_XXXX_seit" id="profil_XXXX_seit" type="date" dateformat="Y" tabindex="16" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Anzahl der XXXX in der Klinik</label>
								<we:sessionField name="Profil_XXXX_Anzahl" id="profil_XXXX_anzahl" type="textinput" tabindex="17" />
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-name">Newsletter empfangen?*</label>
								<we:sessionField name="Newsletter_Ok" id="newsletter_ok" type="select" tabindex="18" />
							</div>
						</div>
						<div class="grid-x grid-margin-x grid-padding-x grid-margin-y">
							<div class="cell">
								<h2>
									Login
								</h2>
								<hr>
							</div>
							<div class="cell floatbox large-6">
								<label for="cbf-email">Email* (Ist gleichzeitig der Benutzername)</label>
								<we:sessionField name="Username" id="username" type="textinput" tabindex="19" />
							</div>
							<div class="cell floatbox large-6">
								<label class="reg-form" for="cbf-password">Passwort ändern</label>
								<we:sessionField name="Password" id="password" type="password" tabindex="20" />
							</div>
						</div>
						<div class="grid-x grid-margin-x grid-padding-x grid-margin-y">
							<div class="cell">
								<we:sessionField name="ID" type="hidden" />
								<we:sessionField name="Profil_Basic_Infos" usevalue="true" type="hidden" value="Ja" />
								<we:sessionField name="Profil_Veroeffentlicht" usevalue="true" type="hidden" value="Ja" />

								<span class="submit-button"><input class="submit" type="button" id="check" value="absenden" tabindex="21" /></span>

							</div>
						</div>
					</fieldset>
				</we:form>

				<we:comment>Foundation Validation</we:comment>
				<script>
					$("#check").click(function () {
						$('#changeUser').foundation('validateForm');
					});
					/*Wenn das Formular valide ist, wird das Formular versendet.*/
					$(document).on("formvalid.zf.abide", function(ev,frm) {
						document.getElementById("changeUser").submit(); 
					});
					/*Wenn das Formular nicht valide ist, wird nach oben gescrollt.*/
					$(document).on("forminvalid.zf.abide", function(ev,frm) {
						$("html, body").animate({ scrollTop: $('#changeUser').offset().top }, 1000);
					})
				</script>

				<we:else />

				Sie müssen eingeloggt sein, um diese Seite aufrufen zu können.

			</we:ifRegisteredUser>

		</div>
	</div>
</div>
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Kundenverwaltung Templates

Beitragvon Finn » Fr 25. Nov 2022, 14:52

Und generell hilft die Taghilfe ganz gut, dort Kundenverwaltung auswählen und du hast alle relevanten Tags. Auch für PW Reset Links etc.
Dateianhänge
Bildschirmfoto 2022-11-25 um 13.51.08.png
Bildschirmfoto 2022-11-25 um 13.51.08.png (56.82 KiB) 1562 mal betrachtet
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Kundenverwaltung Templates

Beitragvon mokraemer » Sa 26. Nov 2022, 13:42

@Finn: ich dachte wir wollten die Doku endlich erstellen - jetzt wird doch (immer) noch alles im Forum erklärt - und alles X mal. Das kostet doch unnötig Zeit und ist auch nicht nachhaltig, die Frage kommt in 2 Monaten wieder und keiner findet die Antwort im Forum.
webEdition-Kern-Entwickler

mtbrmatze
Senior Member
Beiträge: 136
Registriert: Di 22. Jan 2013, 19:46

Re: Kundenverwaltung Templates

Beitragvon mtbrmatze » So 27. Nov 2022, 10:38

Danke für die Infos.

Sind die Dokumentationen neuerdings nur mehr mit Passwort erreichbar?

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Kundenverwaltung Templates

Beitragvon Finn » Mo 28. Nov 2022, 13:52

[/quote]
mokraemer hat geschrieben: Sa 26. Nov 2022, 13:42 @Finn: ich dachte wir wollten die Doku endlich erstellen - jetzt wird doch (immer) noch alles im Forum erklärt - und alles X mal. Das kostet doch unnötig Zeit und ist auch nicht nachhaltig, die Frage kommt in 2 Monaten wieder und keiner findet die Antwort im Forum.
Ja, auf jeden Fall! Ich schaffe es aber in der Vorweihnachtszeit nicht, das alles ordentlich für die Doku vorzubereiten.

mtbrmatze hat geschrieben: So 27. Nov 2022, 10:38 Danke für die Infos.

Sind die Dokumentationen neuerdings nur mehr mit Passwort erreichbar?
Ne, kannst Du hier finden: https://documentation.webedition.org/

Hier gibts (Danke an Heidi!) ein paar Dinge zur KV: https://documentation.webedition.org/en ... /index.php
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste