Seiten weiterempfehlen leicht gemacht
Geschrieben von: Christoph Wille Heute beschäftigen wir uns mit einem Website-Feature, das man vor allem auf Community Websites findet - das Weiterempfehlen von Seiten, im Englischen unter dem Begriff "Tell-a-friend" geführt. Dieser Artikel zeigt, wie's in ASP leicht und dennoch wirksam implementiert werden kann. Das SeitengrundgerüstMan könnte zwar ohne Modifikation der existierenden Seiten auskommen, allerdings hätte das einen gravierenden Nachteil: man könnte nur den URL der Seite weiterempfehlen, aber nicht deren Titel mitschicken. Gerade der Titel hat heute bei den meisten Websites mehr Aussagekraft als die URL - besonders wenn der Querystring grausam lang ist. Um den Titel in einer Tell-a-friend Seite auslesen zu können, muß diese im Querystring übergeben werden. Aber wie kommt der Titel in den Querystring? Indem man auf der zu empfehlenden Seite eine Variable mit dem Seitentitel mitführt. Dies sieht dann vereinfacht so aus: Const cstrPageTitle = "Der Seitentitel" Dies muß man in jeder Seite definieren, die ein Tell-a-friend Script aufrufen soll. Um das Ganze zu vereinfachen, habe ich auf MyHaflinger.com ein gesamtes Seiten"framework" gebastelt. Eine einfache Seite sieht dort wie folgt aus (samplepage.asp): <% @ Language="VBScript" EnableSessionState = False%> <% Const cstrPagetitle = "Demoseite" %> <!--#include file="pagetop.asp"--> <H1><%=cstrPagetitle %></H1> <p> Dies ist nur eine Bare-Bones Demoseite. </p> <!--#include file="pageend.asp"--> Die Seite selbst besteht nur aus dem Kopfteil mit Variablendeklarationen und dem Contentteil. Der Rest des Seitenlayouts wird über die Dateien pagetop.asp und pageend.asp eingebunden. Da beide auch in diesem Fall fast nur Layout beeinhalten, beschränken wir uns auf einen imaginären Menüpunkt in der Datei pagetop.asp - Seite empfehlen. Der "Seite empfehlen" LinkWas alles muß dieser Link beinhalten? Den Titel der Seite (wozu sonst die Mühen des Frameworks), sowie aus Einfachheitsgründen den URL der zu empfehlenden Seite. Der Code sieht dann wie folgt aus (tellinclude.asp): <% Const strSiteAddress = "http://www.myhaflinger.com" Const strURL2TellPage = "empfehlen.asp" strTellTitle = "" If (cstrPageTitle <> "") Then strTellTitle = Server.UrlEncode(cstrPageTitle) End If strTellPage = strSiteAddress & Request.ServerVariables("SCRIPT_NAME") strTellPage = Server.UrlEncode(strTellPage) strAHref = "<a href=""" & strURL2TellPage & "?pagetitle=" & strTellTitle & _ "&pageurl=" & strTellPage & """>" Response.Write strAHref Response.Write strAHref & "Seite empfehlen!</a><br>" & vbCrlf %> Viel Aufwand für einen einfachen Link, aber es zahlt sich aus. Das "Seite empfehlen" FormularNun haben wir einen Link auf unser "Seite empfehlen" Formular gelegt. Nun müssen wir dieses designen und mit Funktionalität versehen. So soll unser Formular aussehen: Der Benutzer bekommt den Titel und den URL der Seite nochmals präsentiert, und gibt dann die Adressdaten für den Versand der Empfehlung ein. Sogar ein Zusatztext kann eingegeben werden. All dies ist in der Seite empfehlen.asp implementiert. Speziell hinweisen möchte ich auf die erste If-Abfrage: diese dient dazu, Empfehlungen für Sites anders als die eigene abzulehnen - das muß für jede Site angepasst werden, oder aber kann ganz einfach ausgelassen werden. <% @ Language="VBScript" EnableSessionState = False%> <% Const cstrPagetitle = "Schicken Sie diese Seite einem Freund" %> <!--#include file="pagetop.asp"--> <H1><%=cstrPagetitle %></H1> <% strPageUrl = Trim(Request.QueryString("pageurl")) strPageTitle = Trim(Request.QueryString("pagetitle")) ' only allow us to use the script... If strPageUrl = "" Or 0 = InStr(strPageUrl,"www.myhaflinger.com") Then Response.Redirect "/" End If %> <form action="sendURL.asp" method="POST"> <table border="0" cellspacing="0" cellpadding="5" bgcolor="#FFFFCC"> <tr><td BGCOLOR="#003399" colspan="2"> <font color="white"> <% If strPageTitle <> "" Then Response.Write "<b>" & strPageTitle & "</b><br>" End If Response.Write "<i>" & strPageUrl & "</i>" & vbCrlf %> </font> </td></tr> <tr> <td><b>Emailen an:</b></td> <td><input type="text" name="ToEmail" size=40></td> </tr> <tr> <td valign="top">Zusätzlicher Kommentar:</td> <td> <textarea cols="35" rows="5" name="AddtlMessage"></textarea></td> </tr> <tr> <td><b>Ihre Emailadresse:</b></td> <td><input type="text" name="FromEmail" size=40></td> </tr> <tr> <td> </td> <td valign="top"> <input type="hidden" name="Article2Send" value="<%=strPageUrl%>"> <input type="hidden" name="ArticleName2Send" value="<%=strPageTitle%>"> <input type="submit" value="Seite empfehlen!"></td> </tr> </table> </FORM> <!--#include file="pageend.asp"--> Das Versenden der EmpfehlungDer Benutzer hat die notwendigen Daten eingegeben, jetzt müssen diese nur noch validiert, und eine Email mit der Empfehlung abgeschickt werden. Für das Abschicken habe ich die CDONTS NewMail Komponente eingesetzt, was aber leicht gegen AspMail oder JMail getauscht werden kann. Die Seite sendURL.asp muß am meisten an die eigenen Bedürfnisse angepasst werden - schließlich geht es mit der Seitenempfehlung um den Kontakt mit einem potentiellen neuen Kunden. Im folgenden Listing der Text, der auf MyHaflinger.com verwendet wird. <% @ Language="VBScript" EnableSessionState = False%> <% Const cstrPagetitle = "Tell-a-friend Statusseite" Const cstrDefaultSender = "webmaster@sleeper.dev.alfasierrapapa.com" %> <!--#include file="pagetop.asp"--> <H1><%=cstrPagetitle %></H1> <% strToEmail = Request.Form("ToEmail") strFromEmail = Request.Form("FromEmail") strAddtlMessage = Request.Form("AddtlMessage") strArticleTitle = Trim(Request.Form("ArticleName2Send")) strArticle = Request.Form("Article2Send") If (strToEmail <> "" And strFromEmail <> "" And strArticle <> "") Then Set objMail = Server.CreateObject("CDONTS.NewMail") objMail.From = cstrDefaultSender objMail.To = strToEmail objMail.Subject = "Seitenempfehlung: " & strArticleTitle strBody = "Email von myHaflinger.com" & vbCrLf & vbCrLf strBody = strBody & strFromEmail & " hat Ihnen folgende Seite empfohlen:" & vbCrLf strBody = strBody & strArticle & vbCrLf & vbCrlf If (strAddtlMessage <> "") Then strBody = strBody & "Und möchte Ihnen noch folgende Informationen mitteilen: " strBody = strBody & vbCrLf & """" & strAddtlMessage & """" &_ vbCrLf & vbCrLf End If strBody = strBody & "Mit freundlichen Grüßen von http://www.myhaflinger.com/" objMail.Body = strBody objMail.Send Set objMail = Nothing Response.Write "Die Seitenempfehlung wurde erfolgreich weitergeleitet!" Response.Write " Vielen Dank, daß Sie diesen Service " Response.Write "in Anspruch genommen haben." Else Response.Write "<b>Es wurden nicht alle benötigten Informationen " Response.Write "an dieses Skript übergeben!</b>" End If %> <!--#include file="pageend.asp"--> Diese Seite generiert eine Email an den Empfehlungsempfänger. Beim Empfänger sieht die Email mit Zusatztext dann beispielsweise so aus: Die Zeile "Und möchte Ihnen noch..." scheint nur dann auf, wenn der Benutzer auch wirklich einen Zusatztext eingegeben hat. SchlußbemerkungSeitenempfehlungen sind eine einfache Art und Weise, wie man Surfer dazu animieren kann, schnell und einfach einen Bekannten über Ihre interessante Resource zu informieren. Die heute vorgestellten ASP Pages kann man schnell und einfach in das eigene Seiteframework integrieren. Download des CodesKlicken Sie hier, um den Download zu starten. Wenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |