Send a friend

Send a friend PopUp.
Siehe auch http://www.iba-stadtumbau.de/index.php?news-aktuell (Brief unten neben dem Drucker).

Ein Formular welches mit einem Klick eingeblendet werden kann, um einem Adressaten die aktuelle Seitenadresse mitzuteilen.

Docu: –
Forum: Tell a friend

Autor: Oliver Georgi http://phpwcms.de/ aufbereitet: K.Heermann (flip-flop) (05.05.09)
CMS-Version: >= V1.2.8
Version: V1.0 05.05.08

Bedingung:/config/phpwcms/conf.inc.php

  • $phpwcms['allow_ext_render'] = 1;


Möglichkeiten:

  • eMail-Adresse Empfänger
  • eMail-Adresse Absender
  • Name des Absenders
  • Spamschutz
  • Nachricht



TAG (FE)

An der Stelle im Layout an der das Formular erscheinen soll:

{SHOW_CONTENT:CPA,16}

16 ist die ID des Artikels in dem das Formular abgelegt ist.


Die Aktivierung des Formulars (Klick → ein/aus):

<span class="sendafriend_button">
<a title="Seite Weiterempfehlen" id="safbutton" class="sendafriend" href="#jumpForm17"><span>Weiterempfehlen</span></a>
</span>

#jumpForm17 setzt sich zusammen aus #jumpFormCP-ID=17


PHP

Dateiname: rt_sendafriend.php

Ort: /template/inc_script/frontend_render/

rt_sendafriend.php

<?php
// ----------------------------------------------------------------
// obligate check for phpwcms constants
if (!defined('PHPWCMS_ROOT')) {
   die("You Cannot Access This Script Directly, Have a Nice Day."); }
// ----------------------------------------------------------------
 
$block['custom_htmlhead']['mootools.js']  = '  <script src="'.TEMPLATE_PATH.'inc_js/mootools/mootools.js" type="text/javascript"></script>';
// Send a Friend
$block['custom_htmlhead']['sendafriend.js']    = '  <script src="'.TEMPLATE_PATH.'inc_js/mootools/tools/sendafriend.js" type="text/javascript"></script>';
 
?>


CSS

Dateiname: sendafriend.css

Ort: /template/inc_css/

sendafriend.css

/* Send a friend */
#content div.sendafriend {
    border: 1px solid #D8DBDB;
    border-right-color: #B1B8B7;
    border-bottom-color: #B1B8B7;
    background: #F9F9F9;
    padding: 5px 0 5px 0;
    margin: 20px 10px 0 0;
    line-height: 100%;
    clear: left;
}
#content div.sendafriend h3 {
    font-size: 1.8em;
    color: #A5ADA5;
    font-family:  Arial, Helvetica, sans-serif;
    font-weight: normal;
    height: 35px;
    line-height: 28px;
    padding: 0 5px 10px 10px;
}
#content div.sendafriend form {
    padding: 0 10px 0 10px;
    margin: 0;
}
#content div.sendafriend form p {
    padding: 0 0 6px 0;
    margin: 0;
}
#content div.sendafriend form p em {
    display: block;
    font-size: .9em;
    padding: 0 0 1px 0;
    margin: 0;
    color: #686C71;
    font-style: italic;
}
#content div.sendafriend div.notice {
    padding-left: 280px;
}
#content div.sendafriend div.fields {
    float: left;
}
#content div.sendafriend form textarea.text {
    width: 375px;
    height: 130px;
    font-size: 1em;
}
#content div.sendafriend form input.text {
    width: 260px;
    font-size: 1em;
}
#content div.sendafriend form input.button {
    width: auto;
    font-size: 1em;
    font-weight: bold;
    margin-top: 6px;
}
#content div.sendafriend p.notice {
    font-size: .9em;
    padding: 10px 12px 5px 12px;
    margin: 0;
    color: #686C71;
    font-style: italic;
    clear: left;
    line-height: 125%;
}
#content div.sendafriend p.error {
    padding: 0 12px 10px 10px;
    margin: 0;
    color: #CC3300;
    line-height: 125%;
    font-weight: bold;
}
#content div.sendafriend p.success {
    padding: 0 12px 0 10px;
    margin: 0;
    color: #5BAC26;
    line-height: 125%;
    font-weight: bold;
}
 
 
 
/* FOOTER -------- */
#footer span.sendafriend_button {
    width: 200px;
    height: 16px;
}
 
#footer a.sendafriend {
/*    float: left; */
    width: 15px;  /* width: 15px; */
    height: 16px;
    padding: 0;
    margin: 0 0 0 4px;
    overflow: hidden;
    background-position: left 2px;
    background-repeat: no-repeat;
}
 
 
#footer a.sendafriend {
    background-image: url(../../img/famfamfam/group.gif);
    margin-left: 5px;
}
 
#footer a.sendafriend:hover {
    background-image: url(../../img/famfamfam/group_add.gif);
}
 
#footer a.sendafriend span {
/*    float: left; */
    width: 0;
    height: 0;
    margin-left: 18px;
}


JavaScript

Dateiname: sendafriend.js

Ort: /template/inc_js/mootools/tools/

sendafriend.js

window.addEvent('domready', function() {
 
    var sendafriend = $('sendafriend');
    if(sendafriend) {
 
        // do not hide send-a-friend form
        if( $('safsuccess') || $('saferror') ) {
 
            var sendafriend_status = true;
 
        } else {
 
            var sendafriend_status = false;
            sendafriend.setStyle('display', 'none');
 
        }
 
        $('safbutton').addEvent('click', function(r) {
 
            if(sendafriend_status == true) {
 
                sendafriend.setStyle('display', 'none');
                sendafriend_status = false;
 
            } else {
 
                sendafriend.setStyle('display', '');
                sendafriend_status = true;
 
            }
 
        });
 
    }
});


Empfohlen: Der Vorteil liegt darin, dass das Formular bei ausgeschaltetem JS nicht automatisch sichtbar ist.

sendafriend.js (Wenn das Formular beim Laden der Seite aufblitzt)

window.addEvent('domready', function() {
 
    var sendafriend = $('sendafriend');
    if(sendafriend) {
 
        // do not hide send-a-friend form
//        if( $('safsuccess') || $('saferror') ) {
        if( $('safsuccess') || $('saferror') || $('safok') ) {  // +KH: id safok used in "on success"
 
            sendafriend.setStyle('display', '');                // +KH: if the form pops up during site load
            var sendafriend_status = true;
 
        } else {
 
            var sendafriend_status = false;
            sendafriend.setStyle('display', 'none');
 
        }
 
        $('safbutton').addEvent('click', function(r) {
 
            if(sendafriend_status == true) {
 
                sendafriend.setStyle('display', 'none');
                sendafriend_status = false;
 
            } else {
 
                sendafriend.setStyle('display', '');
                sendafriend_status = true;
 
            }
 
        });
 
    }
});


Artikel


Erster HTML CP:

    <div id="sendafriend" class="sendafriend" style="">

Empfohlen:
Erster HTML CP: (wenn das Formular kurz aufblitzt während die Seite geladen wird)

    <div id="sendafriend" class="sendafriend" style="display:none">


Formular

bei Erfolg

Die Empfehlung wurde erfolgreich versendet.

Empfohlen:
(bei Erfolg: umschalten nach [X] HTML)

bei Erfolg, wenn ein "Fenster schließen"-Link gewünscht

<p id="safok">Die Empfehlung wurde erfolgreich versendet.</p><br />
[PHP]
echo '<a href="index.php?'.$GLOBALS['content']['struct'][$GLOBALS['content']['cat_id']]['acat_alias'].'">Fenster schlie&szlig;en</a>';
[/PHP]

Der “Fenster schließen”-Link hat den Vorteil, dass die Seite ohne Anker neu geladen wird und eine neue Eingabe sofort möglich ist.

bei Fehler

<p class="error" id="saferror">Ihre Anfrage konnte leider nicht versendet werden! <br />
Bitte f&uuml;llen bzw. korrigieren Sie die farblich hervorgehobenen Bereiche.</p>

Empfänger - Vorlage

Der Absender {yourname}
{sender}
empfiehlt Ihnen den Link auf folgende Seite:
{FORM_URL}
 
------------------------------------------------------------------------
{message}
------------------------------------------------------------------------
 
Wir weisen darauf hin, dass die Absenderangabe nicht verifiziert ist.
 
Sollten Sie Zweifel an der Authentizit&auml;t des Absenders haben,
ignorieren Sie diese E-Mail bitte.

Vorlage

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="300" valign="top">
<p><em>[IF_ERROR:recipient] class="error"[/IF_ERROR]{LABEL:recipient}*</em>{recipient}</p>
<p><em>[IF_ERROR:sender] class="error"[/IF_ERROR]{LABEL:sender}*</em>{sender}</p>
<p><em>[IF_ERROR:yourname] class="error"[/IF_ERROR]{LABEL:yourname}</em>{yourname}</p>
<p><em>[IF_ERROR:mathspam] class="error"[/IF_ERROR]{LABEL:mathspam}</em>{mathspam}</p>
 
<p><br>{sendit}</p>
</td>
<td class="textarea" valign="top"><em>[IF_ERROR:message] class="error"[/IF_ERROR]{LABEL:message}</em>{message}</td>
</tr>
</tbody>
</table>
<p class="notice"><strong>Hinweis:</strong> Die hier eingegebenen Daten werden nicht f&uuml;r andere Zwecke verwendet oder gespeichert.<br />
F&uuml;r den Inhalt der E-Mail ist ausschlie&szlig;lich der Absender verantwortlich!</p>

Empfohlen:

Vorlage, wenn ein "Fenster schließen"-Link erwünscht (am Ende einfügen)

.........
<br />
<a href="index.php?{CATEGORY_ALIAS}">Fenster schlie&szlig;en</a>

(Setz voraus: Standard Tags zusammengefasst)


Rechtliches

Die Rechtslage bei “Send-a-friend”- Angeboten scheint (zumindest in Deutschland) zur Zeit ungeklärt. Sicher ist, dass die gleichzeitige Versendung von zusätzlicher Werbung allemal abgestraft wird. Eine reine Versendung der Adresse der Seite ist bei manchen Urteilen beanstandet worden, bei anderen nicht. Nun gibt jedoch die Möglichkeit, zusätzlichen Text eingeben zu können, dieser zusätzlichen Werbung wieder Raum und ist zumindest ein Unsicherheitsfaktor.
Also: Passenden Disclaimer schreiben, Textfeld eliminieren, unbedingt das Captcha einbauen und die weitere Entwicklung der Rechtslage beobachten wäre eine Möglichkeit, diese ansonsten selbst bei Gerichten prinzipiell als sinnvoll erachtete Variante der Site-Verbreitung einigermaßen unbeanstandet einsetzen zu können…
(Anmerkung: dies stellt keine Rechtsberatung dar!)

deutsch/phpwcms-system/artikel/contentparts/formular/spezielle-anwendungen/send_a_friend.txt · Last modified: 2009/11/23 09:59 by Knut Heermann (flip-flop)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0