Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Seiten weiterempfehlen leicht gemacht

Geschrieben von: Christoph Wille
Kategorie: ASP Grundlagen

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üst

Man 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" Link

Was 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" Formular

Nun 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&auml;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>&nbsp;</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 Empfehlung

Der 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&szlig; Sie diesen Service "
  Response.Write "in Anspruch genommen haben."
Else
  Response.Write "<b>Es wurden nicht alle ben&ouml;tigten Informationen "
  Response.Write "an dieses Skript &uuml;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ßbemerkung

Seitenempfehlungen 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 Codes

Klicken 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.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.