Autor Thema: Geschenk Service  (Gelesen 4184 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Geschenk Service
« am: November 11, 2008, 16:02:35 »
Weihnachten rückt bekanntlich näher  ;)

Falls jemand in seinem Shop zu diesem Anlass mein "Geschenk Service" einbauen möchte, hier mal die Gebrauchsanweisung:
LiveDemo

Infoseite "Geschenkservice" anlegen
Vorlage = Geschenk-Service_2.html

HTML-Vorlage "Geschenk-Service_2.html
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=http://__xxpath__?showd1200004750!0,__xxsession__,Geschenk-Service">
</head>
</html>

die Seitennummer anpassen (showd1200004750 = Seitennr. der Infoseite)
Das ist notwendig, da die "## POST-Daten auslesen" Funktion nur auf Detailseiten funktioniert!)

Auf dieser Seite den Artikel für die Geschenkservice Seite eintragen
(Artikelnummer = Geschenk-Service)

Detailseite-Vorlage:  Geschenk-Service.html
Code zwischen
 <!-- InstanceBeginEditable name="EditRegion_Main" -->
und
<!-- InstanceEndEditable -->
<!--spmacro:pagetype(1)-->
<form method="post" action="__xformcart__"  onSubmit="return onSubmit();">
<input type="hidden" name="gitemid" value="__artnr__">
<table width="550" border="0" cellspacing="0" cellpadding="4">
<tr align="center">
<th rowspan="9" valign="top">__dimage__</th>
          <td align="left" valign=top"> <font size="-1"><b><i>__ergaenz1__ &nbsp; &nbsp;</i><b><font size="+1"></td>
  <td nowrap valign="top"><font SIZE="3">__preis__</font></td>
    </tr>
<tr>
<td colspan="2">Die Sendung wird mit Geschenkpapier verpackt, mit Ihrem Absender (natürlich ohne Rechnung) verschickt und Ihre persönliche Grußbotschaft beigelegt.
</table>
<br>
<table width="550" border="0" cellspacing="0" cellpadding="4">
<tr valign="top" align="left">
        <td>Geschenkpapier:&nbsp; &nbsp;</td>
<td width="80%">
<SELECT name="GPAPIER" id="GPAPIER" size="1">
<OPTION value="neutral">neutral</OPTION>
<OPTION value="Geburtstag">Geburtstag</OPTION>
<OPTION value="Weihnachten">Weihnachten</OPTION>
</SELECT> </td>
</tr>
</table>
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>

        <INPUT type="hidden" name="NAMEA_required">
        <INPUT type="hidden" name="VORNAMEA_required">
        <INPUT type="hidden" name="PLZA_required">
        <INPUT type="hidden" name="ORTA_required">
        <INPUT type="hidden" name="STRASSEA_required">
        <INPUT type="hidden" name="NAMEE_required">
        <INPUT type="hidden" name="VORNAMEE_required">
        <INPUT type="hidden" name="PLZE_required">
        <INPUT type="hidden" name="ORTE_required">
        <INPUT type="hidden" name="STRASSEE_required">
        <INPUT type="hidden" name="LANDA_required">
        <INPUT type="hidden" name="LANDE_required">

        <TABLE border="1" cellspacing="0" cellpadding="0" class="no">
          <tr>
<td></td>
<td align="center"><B>Absender:</B></td>
<td width="30"></td>
<td align="center"><B>Empfänger:</B></td>
</tr>

<TR>
<TD class="geschenk">Anrede </TD>
            <TD class="geschenk">
              <SELECT name="ANREDEA" id="ANREDEA" size="1">
                <OPTION value="Frau">Frau</OPTION><!--___-->
                <OPTION value="Herr">Herr</OPTION><!--___-->
              </select>
            </TD>
<td width="30"></td>
<td class="geschenk">
<SELECT name="ANREDEE" id="ANREDEE" size="1">
                <OPTION value="Frau">Frau</OPTION>
                <OPTION value="Herr">Herr</OPTION>
              </select></td>
</TR>
         
<TR>
<TD class="geschenk">Vorname </TD>
<TD class="geschenk"><input name="VORNAMEA" id="VORNAMEA" type="text" size="30" maxlength="50" value="__Vorname__"></TD>
<td width="30"></td>
<td class="geschenk"><INPUT name="VORNAMEE" id="VORNAMEE" type="text" size="30" maxlength="50" value="" ></td>
</TR>
<TR>
<TD>Nachname </TD>
<TD><INPUT name="NAMEA" id="NAMEA" size="30" maxlength="50" value="__Name__" >
<div class="errortext" nowrap align="center">__errorNAMEA__</div></TD>
<td width="30"></td>
<td><INPUT name="NAMEE" id="NAMEE" size="30" maxlength="50" value="" ></td>
</TR>
<TR>
<TD>Land-PLZ </TD>
            <TD>
<SELECT name="LANDA" id="LANDA" size="1">
                <OPTION value="">--</OPTION><!--__-->
                <OPTION value="A">A</OPTION><!--__-->
                <OPTION value="D">D</OPTION>
                <OPTION value="CH">CH</OPTION><!--__-->
                <OPTION value="LI">LI</OPTION><!--__-->
                <OPTION value="B">B</OPTION><!--__-->
                <OPTION value="NL">NL</OPTION><!--__-->
              </SELECT>
              -
              <INPUT name="PLZA" id="PLZA" size="6" maxlength="6" value="__PLZ__">
            </TD>
<td width="30"></td>
<td>
<SELECT name="LANDE" id="LANDE" size="1">
                <OPTION value="">--</OPTION>
                <OPTION value="A">A</OPTION>
                <OPTION value="D">D</OPTION>
                <OPTION value="CH">CH</OPTION>
                <OPTION value="LI">LI</OPTION>
                <OPTION value="B">B</OPTION>
                <OPTION value="NL">NL</OPTION>
              </SELECT>
              -
              <INPUT name="PLZE" id="PLZE" size="6" maxlength="6" value="">
</td>
</TR>
<TR>
<TD>Ort </TD>
            <TD><INPUT name="ORTA" id="ORTA" size="30" maxlength="50" value="__Ort__"></TD>
<td width="30"></td>
<td><INPUT name="ORTE" id="ORTE" size="30" maxlength="50" value=""></td>
</TR>
<TR>
<TD width="80" >Strasse </TD>
            <TD width="150"><INPUT name="STRASSEA" id="STRASSEA" size="30" maxlength="50" value="__Strasse__"></TD>
<td width="30"></td>
<td><INPUT name="STRASSEE" id="STRASSEE" size="30" maxlength="50" value=""></td>
</TR>
        </TABLE>
<table width="450" border="0">
<tr>
<td> <script type="text/javascript" src="http://www.woll-insel.at/shop2/formrequired.js"></script> </td>
</tr>
</table>
<table width="550" border="0">
<tr>
<td class="geschhin"> Bitte achten Sie auf die korrekte Adressangabe !<br>
Für Tippfehler bei Absender- oder Empfängeradressen können wir keine Haftung übernehmen.</td>
</tr>
</table>
<br>
<table width="500" border="0">
<tr>
<td><b>Ihr Grußtext:</b> <i>(optional)</i> <br>
<TEXTAREA NAME="GTEXT" ID="GTEXT" COLS=60 ROWS="5" WRAP="SOFT"></TEXTAREA>
</td>
</tr>
<tr>
<input type="hidden" name="a__Geschenk-Service" value="1">
<td align=right><INPUT type="submit" name="send" value="bestellen"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
(kann natürlich angepasst werden)

Damit die Daten, die der Kunde hier eingibt auch im WK nochmal angesehen werden kann bzw, auch im mail an Händler übermittelt wird, ist jetzt noch ein klein wenig mehr Code notwendig ;)

Ein ben.def. Feld für Auftragsposition "GSERVICE" mit "text lang" anlegen.
(Projekt -> benutzerdefiniere Datenfelder -> Auftrag -> Position)

Code in stdplacecart,ipl:
<!--spmacro:module(test)
use serialize;
my %testdaten;

     ## Variablen und Konstanten für Geschenk-Service
 
## POST-Daten auslesen
my $item = ssp::qform(ssp::get_var_form('gitemid'));
if (length($item) && ($item ne ssp::undefined)) {

        $testdaten{test1}{GTEXT} = ssp::qform(ssp::get_var_form('GTEXT'));
        $testdaten{test1}{GTEXT} =~ s/\r//g;
        $testdaten{test1}{GTEXT} =~ s/\n/<br>/g;
        $testdaten{test1}{GPAPIER} = ssp::qform(ssp::get_var_form('GPAPIER'));
        $testdaten{test1}{ANREDEA} = ssp::qform(ssp::get_var_form('ANREDEA'));
        $testdaten{test1}{NAMEA} = ssp::qform(ssp::get_var_form('NAMEA'));
        $testdaten{test1}{VORNAMEA} = ssp::qform(ssp::get_var_form('VORNAMEA'));
        $testdaten{test1}{LANDA} = ssp::qform(ssp::get_var_form('LANDA'));
        $testdaten{test1}{PLZA} = ssp::qform(ssp::get_var_form('PLZA'));
        $testdaten{test1}{ORTA} = ssp::qform(ssp::get_var_form('ORTA'));
        $testdaten{test1}{STRASSEA} = ssp::qform(ssp::get_var_form('STRASSEA'));
        $testdaten{test1}{ANREDEE} = ssp::qform(ssp::get_var_form('ANREDEE'));
        $testdaten{test1}{NAMEE} = ssp::qform(ssp::get_var_form('NAMEE'));
        $testdaten{test1}{VORNAMEE} = ssp::qform(ssp::get_var_form('VORNAMEE'));
        $testdaten{test1}{LANDE} = ssp::qform(ssp::get_var_form('LANDE'));
        $testdaten{test1}{PLZE} = ssp::qform(ssp::get_var_form('PLZE'));
        $testdaten{test1}{ORTE} = ssp::qform(ssp::get_var_form('ORTE'));
        $testdaten{test1}{STRASSEE} = ssp::qform(ssp::get_var_form('STRASSEE'));

    my $datastr = serialize::serialize(\%testdaten);

if ($item == 'Geschenk-Service') {

    $main::FORM{"GSERVICE__$item"} = $datastr;
}
}
-->

im Anhang das "serialize.txt" in "serealize.pm" umbenennen (pm-Dateien sind hier nicht erlaubt, daher als txt gespeichert)
serealize.pm ins Rootverzeichnis kopieren und im die "Daten hinzufügen" Liste eintragen.
(Danke an ahe für dieses Script!!!)

Code in bestellposition.ipl
(falls noch nicht vorhanden anlegen und mit <!--spmacro:include(bestellposition.ipl)--> einbinden.
nicht vergessen dann auch in die "Daten hinzufügen" Liste eintragen!)
<!--spmacro:module(show)
sub Gesservice_WK {
    my $index = shift;
   
    my $anzahl = ssp::get_var_cart('anzahl',$index);
    my $artnr = ssp::get_var_cart('id',$index);
    my $id = ssp::get_var_cart('rawid',$index);
    my $txt = "";
   
    my $datastr = ssp::get_var_cart("GSERVICE",$index);

    if ($datastr) {
   my $tmp = serialize::unserialize($datastr);
   my %testdaten = %$tmp;

   $txt = qq|
   
<a onclick="return toggleMe('gservice')" href="javascript:void(0)"> Details anzeigen </a><br>
<div id="gservice" style="display:none"><br>
<table border="0" cellspacing="0" cellpadding="2">
<tr valign="top">
        <td>Geschenkpapier:&nbsp; &nbsp;"$testdaten{test1}{GPAPIER}"</td>
</tr>
</table>
<br>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<TABLE border="1" cellspacing="0" cellpadding="0" class="no">
<tr>
<td></td>
<td align="center"><B>Absender:</B></td>
<td width="10"></td>
<td align="center"><B>Empfänger:</B></td>
</tr>
<TR>
<TD>Anrede </TD>
<TD class="geschenk">$testdaten{test1}{ANREDEA} </TD>
<td width="10"></td>
<td>$testdaten{test1}{ANREDEE}</td>
</TR>         
<TR>
<TD>Vorname </TD>
<TD>$testdaten{test1}{VORNAMEA}</td>
<td width="10"></td>
<td>$testdaten{test1}{VORNAMEE}</td>
</TR>
<TR>
<TD>Nachname </TD>
<TD>$testdaten{test1}{NAMEA}</TD>
<td width="10"></td>
<td>$testdaten{test1}{NAMEE}</td>
</TR>
<TR>
<TD>Land-PLZ </TD>
<TD>$testdaten{test1}{LANDA} - $testdaten{test1}{PLZA}</TD>
<td width="10"></td>
<TD>$testdaten{test1}{LANDE} - $testdaten{test1}{PLZE}</TD></td>
</TR>
<TR>
<TD>Ort </TD>
<TD>$testdaten{test1}{ORTA}</TD>
<td width="10"></td>
<td>$testdaten{test1}{ORTE}</td>
</TR>
<TR>
<TD>Strasse </TD>
            <TD>$testdaten{test1}{STRASSEA}</TD>
<td width="10"></td>
<td>$testdaten{test1}{STRASSEE}</td>
</TR>
    </TABLE>
<br>
<table border="0">
<tr>
<td><b>Ihr Grußtext:</b> <br>
$testdaten{test1}{GTEXT}</TEXTAREA>
</td>
</tr>
</table>
<a onclick="return toggleMe('gservice')" href="javascript:void(0)"> Details ausblenden </a>
</div>
</td>
</tr>
</table>

        |;
    }
   
   
    main::mprint $txt;
}


sub Gesservice_haendler {
     my $index = shift;
   
    my $anzahl = ssp::get_var_cart('anzahl',$index);
    my $artnr = ssp::get_var_cart('id',$index);
    my $id = ssp::get_var_cart('rawid',$index);
    my $txt = "";
   
    my $datastr = ssp::get_var_cart("GSERVICE",$index);

    if ($datastr) {
   my $tmp = serialize::unserialize($datastr);
   my %testdaten = %$tmp;

   $txt = qq|
<br>
<table border="0" cellspacing="0" cellpadding="2">
<tr valign="top">
        <td>Geschenkpapier:&nbsp; &nbsp;"$testdaten{test1}{GPAPIER}"</td>
</tr>
</table>
<br>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<TABLE border="1" cellspacing="0" cellpadding="0" class="no">
<tr>
<td></td>
<td align="center"><B>Absender:</B></td>
<td width="10"></td>
<td align="center"><B>Empfänger:</B></td>
</tr>
<TR>
<TD>Anrede </TD>
<TD class="geschenk">$testdaten{test1}{ANREDEA} </TD>
<td width="10"></td>
<td>$testdaten{test1}{ANREDEE}</td>
</TR>         
<TR>
<TD>Vorname </TD>
<TD>$testdaten{test1}{VORNAMEA}</td>
<td width="10"></td>
<td>$testdaten{test1}{VORNAMEE}</td>
</TR>
<TR>
<TD>Nachname </TD>
<TD>$testdaten{test1}{NAMEA}</TD>
<td width="10"></td>
<td>$testdaten{test1}{NAMEE}</td>
</TR>
<TR>
<TD>Land-PLZ </TD>
<TD>$testdaten{test1}{LANDA} - $testdaten{test1}{PLZA}</TD>
<td width="10"></td>
<TD>$testdaten{test1}{LANDE} - $testdaten{test1}{PLZE}</TD></td>
</TR>
<TR>
<TD>Ort </TD>
<TD>$testdaten{test1}{ORTA}</TD>
<td width="10"></td>
<td>$testdaten{test1}{ORTE}</td>
</TR>
<TR>
<TD>Strasse </TD>
            <TD>$testdaten{test1}{STRASSEA}</TD>
<td width="10"></td>
<td>$testdaten{test1}{STRASSEE}</td>
</TR>
    </TABLE>
<br>
<table border="0">
<tr>
<td><b>Ihr Grußtext:</b> <br>
$testdaten{test1}{GTEXT}</TEXTAREA>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>

        |;
    }
       
    main::mprint $txt;
}
-->
Im Warenkorb mit __show::Gesservice_WK__ und in Mail an Händler mit __show::Gesservice_haendler__ ausgeben

JS-Code zum ein/ausblenden der Details im Warenkorb:
(in externe JS-Datei oder auch direkt in die Warenkorbvorlage schreiben)
<script type="text/javascript" language="JavaScript">
function toggleMe(a){
  var e=document.getElementById(a);
  if(!e)return true;
  if(e.style.display=="none"){
    e.style.display="block"
  } else {
    e.style.display="none"
  }
  return true;
}
</script>

jetzt noch die Seite zum Geschenkservice im Shop verlinken (und bewerben  ;))

fertig  ;D

Beispielseite:


Linkback: https://www.shoppilot.net/pf/index.php?topic=1156.0
« Letzte Änderung: November 11, 2008, 19:08:57 von dobra »
mfG
dobra


xx
Geschenk ab Warenwert x €

Begonnen von dobra

0 Antworten
5289 Aufrufe
Letzter Beitrag März 23, 2013, 22:44:46
von dobra
xx
EP 2.0 Service Pack 1

Begonnen von hop

2 Antworten
6338 Aufrufe
Letzter Beitrag September 16, 2003, 00:21:57
von ahe
lamp
SP-Modul: kostenloser Termin-Erinnerungs Service

Begonnen von dobra

1 Antworten
7932 Aufrufe
Letzter Beitrag Dezember 11, 2020, 13:06:41
von catwoman