um die Funktion "Artikel beschriften", "Farbe wählen" und "eigenes Bild uploaden" wie bei den Mouspads im Konfiguratorshop sind folgende Schritte nötig:
1) falls noch keine stdplacecart.ipl existiert diese anlegen und in die Liste "Dateien hinzufügen" eintragen.
2) diesen Code in die stdplacecart.ipl kopieren
<!--spmacro:module(form)
## POST-Daten auslesen
my $item = ssp::get_var_form('paditemid');
if (length($item) && ($item ne ssp::undefined)) {
my $padline = main::qform(ssp::get_var_form('PADLINE'));
my $red = int(ssp::get_var_form('padcolor_red'));
my $green = int(ssp::get_var_form('padcolor_green'));
my $blue = int(ssp::get_var_form('padcolor_blue'));
my $image = main::qform(ssp::get_var_form("PADIMAGE"));
## Bereichsprüfung
if ($red > 255) { $red = 255; }
if ($red < 0) { $red = 0; }
if ($green > 255) { $green = 255; }
if ($green < 0) { $green = 0; }
if ($blue > 255) { $blue = 255; }
if ($blue < 0) { $blue = 0; }
## In Form #rrggbb bringen
my $color = sprintf("#%02x%02x%02x", $red, $green, $blue);
if ($item) {
$main::FORM{"PADLINE__$item"} = $padline;
$main::FORM{"PADCOLOR__$item"} = $color;
$main::FORM{"PADIMAGE__$item"} = $image;
}
}
-->
3) die imageupload.ipl Datei aus dem Konfiguratorshop (im Ordner "scripts") in Ihr Projekt in den selben Ordner kopieren (falls noch nicht vorhanden - vorher anlegen) und in "Dateien hinzufügen" eintragen.
4) im WC 3 benutzerdefinierte Felder bei Auftrag -> Positionen anlegen
PADLINE, PADCOLOR und PADIMAGES
5) eine HTML-Vorlage (Detail-Seite) für Artikel mit dieser Funktion erstellen.
Die Seite kann wie jede andere Detailseite aufgebaut sein, aber DIESE Teile müssen enthalten sein:
<!--spmacro:pagetype(1)-->
<form method="post" action="__xformcart__">
<input type="hidden" name="paditemid" value="__artnr__">--- hier Ihr normaler Inhalt ---
+ zusätzlich
<script type="text/javascript">
function showPreview() {
var red = window.document.getElementById('padcolor_red').value;
var green = window.document.getElementById('padcolor_green').value;
var blue = window.document.getElementById('padcolor_blue').value;
red = parseInt(red);
green = parseInt(green);
blue = parseInt(blue);
if (red > 255) { red = 255; }
if (red < 0) { red = 0; }
if (green > 255) { green = 255; }
if (green < 0) { green = 0; }
if (blue > 255) { blue = 255; }
if (blue < 0) { blue = 0; }
window.document.getElementById('padcolor_preview').style.backgroundColor = "rgb("+red+","+green+","+blue+")";
}
</script>
<table>
<tr>
<td>Beschriftung</td>
<td>
<input name="PADLINE" id="PADLINE" type="text" size="45" maxlength="250">
</td>
</tr>
<tr>
<td valign="top">Textfarbe </td>
<td>
Rot <input name="padcolor_red" id="padcolor_red" type="text" size="3" maxlength="3" value="0" onChange="javascript:showPreview();">
Grün <input name="padcolor_green" id="padcolor_green" type="text" size="3" maxlength="3" value="0" onChange="javascript:showPreview();">
Blau <input name="padcolor_blue" id="padcolor_blue" value="0" type="text" size="3" maxlength="3" onChange="javascript:showPreview();">
Farb-Vorschau <input type="text" id="padcolor_preview" style="border:1px solid gray; background-color:black;" size="3" readonly>
<br>
<i>Hinweis: Tragen Sie jeweils Zahlen zwischen 0 und 255 ein.</i>
</td>
</tr>
</table>
<!-- *** Bildupload bereitstellen *** -->
<!--spmacro:include(scripts/imageupload.ipl)-->
<div class="innercontent">
<!-- PADIMAGE heisst das benutzerdefinierte Feld für Bestellpositionen,
in dem die eingetragenen Bilder gespeichert werden -->
<input type="hidden" name="PADIMAGE" value="__imageupload::printImage__">
__imageupload::printdetailpage_registeredonly__
</div>
<!-- *** Ende: Bildupload bereitstellen *** --></form>unbedingt nötig ist auch entweder __anzkaufen__ oder ein entsprechendes hidden input!
6) ein weitere HTML-Vorlage "p_addimage.html" anlegen.
Hier kommt dieser HTML-Teil hinein:
<!--spmacro:include(scripts/imageupload.ipl)-->
__imageupload::printuploadpage__7) eine Info-Seite anlegen
Titel: Bildupload
Vorlage: die zuvor erstellte p_addimage.html
8 ) in der Warenkorbvorlage und allen folgenden Seiten (Bestelldatenvorlage, Mails an Händler und Kunden)
<!--spmacro:include(scripts/bestellposition.ipl)--> in den head-Bereich eintragen
9) zur Ausgabe im WK
<!-- *** Ausgabe Zusatzdaten für personalisierbare Artikel *** -->
__bestellposition::printBenutzerdefinierteFelder_Bearbeitbar__
<!-- *** Ende: Ausgabe Zusatzdaten für personalisierbare Artikel *** -->und in den Bestelldatenvorlagen und Mails
__bestellposition::printBenutzerdefinierteFelder__im Loopitemteil vor <!--spmacro:enditem--> einfügen.
10) DB neu anlegen (lokal und online)
Wenn alles korrekt funktioniert noch die HTML-Teile in den Scrips an Ihre Seite anpassen.
P.S.: Wie man die den Verkauf von Meterware einbaut, ist
hier nachzulesen