Inhalte durchsuchen
Inhalt
Konfiguration des Newsletterversands in der Web In & Out-Datenbank
Damit dem Internetbenutzer ein bestellen der angebotenen Newsetter ermöglicht wird, muß ein entsprechendes Eingabeformular für die Newsletterbestellung erstellt werden. Außerdem ist es möglich dem Newsletter-Abonnementen eine Übersicht über den Bestellstatus der einzelnen Newsletter anzubieten. Über diese Übersicht werden alle bestellten und nicht bestellten Newsletter angezeigt.
- Formular für Newsletterbestellung
- Formular für Newsletterbestellung
Formular für Newsletterbestellung
Das Formular für die Newsletterbestellung kann über eine Datenquelle oder über ein Eingabe-Layout erstellt werden. Am einfachsten ist die Verwendung eines Eingabelayouts welches fest in ein Seitenlayout eingebunden wird.
Beim Erstellen eines Eingabe-Layouts für die Newsletterbestellung muss folgender Aufruf im WebQuerySave stehen:
@Command([ToolsRunMacro]; "WEB$copyForm").
Außerdem muss folgendes Feld auf dem Reiter Allgemein ( Feld: "Namen der zus. Eingabe-Felder") angelegt werden:NewsletterToReceive|M
Die Anzeige der bestellbaren Newsletter kann über ein PseudoTag im Eingabe-Layout erzeugt werden:
newsletterdb:=@DbLookup("Notes":"Cache";"":"";"($profiles)";"Globals";"ADMNewsletterDBRepID");newsletterlookup:=@If(@IsError(newsletterdb);"";@DbColumn("Notes":"NoCache"; newsletterdb; "webActiveNewsletters"; 1));newsletter:=@If(@IsError(newsletterlookup); "fehler"; newsletterlookup);
VorWert := "
EndWert := "\" />";
ergebnis := VorWert + newsletter + EndWert + @left(newsletter;"#");
@implode(ergebnis;"
")
Mit Hilfe dieses Pseudotags wird für jeden aktiven Newsletter eine Optionsbox erzeugt. Über diese Optionsbox kann in der Webausgabe der zu bestellende Newsletter ausgewählt werden.
Für die Eingabe der eMailadresse muss ein Textfeld mit dem Namen AboRecipient erstellt werden.
Das erstellte Eingabe-Layout kann nun beliebig in einem oder mehreren Seitenlayouts, über den Reiter Formular, eingebunden werden.
Übersicht über Bestellstatus des Newsletters
Die Übersicht über den Bestellstatus der einzelnen Newsletter wird genutzt um alle bestellten und nicht bestellten Newsletter ines Benutzers anzuzeigen. Die Anzeige erfolgt im Browser und kann daher für jeden Newsletterabonnementen verwendet werden.
Um diese Übersicht zu ermöglichen wird in der Web In & Out für die Newsletterdatenbank ein Seitenlayout erstellt. Im WebQueryOpen des Seitenlayouts (Reiter Allgemein) muss folgender Aufruf stehen: @Command([ToolsRunMacro]; "worker")
Das erstellte Seitenlayout wird, beim speichern des Layouts, als Maske in der Newsletterdatenbank angelegt. Der Link über den diese Maske aufgerufen wird, bekommt als Parameter folgende Werte mit:
- &user=AbonnementID
- &abo=NewsletterID
- &modus=
Modus kann die folgenden Werte verarbeiten:
Parameter | Beschreibung |
---|---|
&modus=create | Der User abonniert den Newsletter |
&modus=remove | Der User beendet das Abonnement für den Newsletter |
&modus=approve | Der User bestätigt das Abonnement für den Newsletter |
&modus=show | Es wird keine Aktion ausgeführt |
Im Maillayout für die Bestätigungsmail würde der Link zum Beispiel folgenderweise aussehen:
http://{~$HttpApparentServerName~}/{~$HttpDatabaseFilePath~}/namedesseitenlayouts?readform&user={~$RecipientID~}&abo={~$RequestedNewsletterID~}&modus=show
Der Newsletterinteresent ruft nun die Übersichtsseite auf und bestätigt das Abo auf dieser Seite.
Anhand der übergebenen Parameter bekommt die Maske (das erstellte Seitenlayout) neue Felder vom aufgerufenen Agenten „worker“:
Bezeichnung | Beschreibung |
---|---|
AktiveAbos | Liste mit allen Aktiven Abonnements des Users |
InAktiveAbos | Liste mit allen nicht bestätigten Abonnements des Users |
AenderungAbo | Erfolgs- / Fehlermeldung über durchgeführte Aktion |
WeitereAbos | Verfügbare Abonnements, die der User noch nicht besitzt |
Diese Felder kann man entweder ignorieren (sie werden nicht angezeigt) oder über PseudoTags für die Webausgabe formatieren und auswerten. Die folgenden Pseudotags können z.B. im Seitenlayout verwendet werden:
PseudoTag AktiveAbos
@if(AktiveAbos="";liste := ""; liste := "<div style=\"width:100%\">" + @implode(@transform(AktiveAbos;"x";"<div style=\"float:left;width:70%\">" + @left(x;"#") + "</div>" + "<div style=\"float:left;width:30%\"> <a href=\"" + @right(x;"#") + "\" target=\"_self\" alt=\"Abonnement beenden\">Abo beenden</a></div><br />"); "") + </div>");
@if(liste="";"<p>Keine aktiven Newsletter-Abonnements</p>";"<p><h3>Aktive Newsletter-Abonnements</h3></p>" + liste)
Dieses PseudoTag kann genutzt werden um Aktive Abonnements anzuzeigen.
PseudoTag InAktiveAbos
@if(InAktiveAbos="";liste:="";liste:="<div style=\"width:100%\">" + @implode( @transform(InAktiveAbos;"x";"<div style=\"float:left;width:70%\">" + left(x;"#") + "</div>" + "<div style=\"float:left;width:30%\"><a href=\"" + @right(x;"#") + "\" target=\"_self\" alt=\"Abonnement bestätigen\">Abo bestätigen</a></div><br />"); "") + "</div>");
@if(liste="";"<p>Keine unbestätigten Newsletter-Abonnements</p>";"<p><h3>Unbestätigte Newsletter-Abonnements</h3></p>" + liste)
Dieses PseudoTag kann genutzt werden um Inaktive Abonnements anzuzeigen.
PseudoTag AenderungAbo
@if(AenderungAbo="";ereignis:="";@if(AenderungAbo="nouser";@Do(ereignis:="Benutzer unbekannt";action:="");
@Do(ereignis:="Das Abo für den Newsletter \"" + @left(AenderungAbo;"#") +"\" wurde ";@if(@right(AenderungAbo;"#")="remove";action:="gelöscht";"");@if(@right(AenderungAbo;"#")="approve";action:="bestätigt";"");@if(@right(AenderungAbo;"#")="approvedouble";action:="bereits bestätigt";"" );@if(@right(AenderungAbo;"#")="create";action:="neu angelegt";"");@if(@right(AenderungAbo;"#")="createdouble";action:="bereits angelegt";"" ))));
@if(ereignis="";"";"<h3>Übersicht</h3>" + ereignis + action)
Dieses PseudoTag kann genutzt werden um Meldungen wie "Benutzer unbekannt" oder "Das Abo für den Newsletter wurde gelöscht/bestätigt/bereits bestätigt/neu angelegt/bereits angelegt" anzuzeigen. Die einzelnen Meldungen können individuell angepasst werden.
PseudoTag WeitereAbos
@if(WeitereAbos="";liste := "";liste := "<div style=\"width:100%\">" + @implode(@transform(WeitereAbos;"x";"<div style=\"float:left;width:70%\">" + @left(x;"#") + "</div>" + "<div style=\"float:left;width:30%\"><a href=\"" + @right(x;"#") + "\" target=\"_self\" alt=\"Abonnement beginnen\"> abonnieren</a></div><br />"); "") + "</div>");
@if(liste="";"<p>Keine weiteren Newsletter verfügbar</p>";"<h3>Weitere verfügbare Newsletter</h3>" + liste)
Dieses PseudoTag kann genutzt werden um weitere unbestellte Newsletter anzuzeigen.
Letzte Änderung: 02.03.2010 | 17:14 Uhr