ws_upload.htm. Darin stehen die Platzhalter dieser Seite. Sie folgen demselben Aufbau wie Shoptemplate-Tags, gehören aber zum Upload-Programm und nicht zum Shop.
- Wegweiser: Upload-Modul integrieren
- Referenz: wsupload.config
Drei Ansichten in einem Template
Das Upload-Programm zeigt nacheinander drei Ansichten, und alle drei stecken in derselben Datei. Welche erscheint, entscheidet das Programm, das Template liefert nur die Bausteine.
Hat eine Bestellung nur eine einzige Position, überspringt das Programm die Liste und zeigt sofort
{Item}. Der Bereich {ItemList} erscheint dann gar nicht. Bauen Sie trotzdem beide, denn dieselbe Datei bedient beide Fälle.
Zwei Betriebsarten
Das Upload-Modul arbeitet nicht nur nach einer Bestellung, sondern auch bei Anfragen über das Anfrageformular. Dieser Anfrage-Upload kennt keine Bestellpositionen und damit auch nicht alle Platzhalter.Der Seitenrahmen
Diese Platzhalter stehen frei im Template und beschreiben die Umgebung.protocol und hostname gehören in das base-Element im Seitenkopf. Das Referenztemplate verwendet beide genau dort.
Meldungen
Upload-ID oder Auftragsnummer abfragen
Ruft jemand das Upload-Programm ohne Kennung auf, erscheint{UplIdInput}. Der Käufer gibt dort entweder die Upload-ID aus seiner Bestellbestätigung ein oder seine Auftragsnummer.
Das Upload-Programm vergibt je Bestellung eine Upload-ID und je Bestellposition zusätzlich eine Positions-ID. Die Upload-ID bekommt der Käufer, die Positions-ID braucht er nicht zu kennen.
Die Namen der beiden Eingabefelder sind fest und heißen
UploadId und Ordernumber. Hier gibt es keine _input-Platzhalter wie im Shop, schreiben Sie die Namen direkt ins Template.
Mit {OrdNumMode} beschriften Sie die Anzeige passend. Arbeitet der Vorgang über die Auftragsnummer, ist es wenig hilfreich, dem Käufer eine Upload-ID anzuzeigen, die er nirgends wiederfindet.
Die Liste der Bestellpositionen
Hat die Bestellung mehrere Positionen, zeigt{ItemList} die Übersicht. {@PrdData} läuft darin über die Positionen.
{HasFile} beantwortet die Frage für die eine Position im Durchlauf, {HasFiles} weiter unten für die gesamte Bestellung oder die angezeigte Position. Die beiden Namen unterscheiden sich nur im Schluss-s, die Bedeutung ist verschieden.
Zurück zur Liste
ItemListLink ist damit zugleich Wert und Klammerung.
Eine Position mit ihren Dateien
{Item} ist die Detailansicht. Darin steht alles, was eine einzelne Bestellposition betrifft.
Die vorhandenen Dateien
{@Files} läuft über die Dateien, die zu dieser Position schon hochgeladen wurden.
{NoFiles} ist dafür gedacht, hinter {HasFiles} zu stehen. Die beiden Bereiche schließen einander aus, {NoFiles} ist also die lesbarere Form der negativen Klammerung von {HasFiles}.
Der Verwendungszweck je Datei
Zu jeder Datei lässt sich hinterlegen, wofür sie gedacht ist, beispielsweise Vorderseite, Rückseite oder Korrekturabzug. Die Auswahlmöglichkeiten stehen in den Unterabschnitten<+FileInfo> des Abschnitts <Upload> in wsupload.config.
Der Unterschied zwischen den beiden Optionslisten ist die Vorbelegung.
fileinfoopts steht an einer bereits hochgeladenen Datei und hat deren Verwendungszweck vorausgewählt, uplfileinfoopts steht am Feld für die neue Datei und hat nichts vorausgewählt.
Die Umstellung des Verwendungszwecks läuft im Hintergrund, ohne die Seite neu zu laden. Deshalb die Wartegrafik, die über FileInfoProcId angesprochen wird. Die ganze Gruppe ist wahlfrei. Wenn Sie keinen Verwendungszweck brauchen, lassen Sie alle vier Platzhalter weg.
Eine neue Datei hochladen
uploadUrl gehört zur neueren Fassung des Upload-Moduls, die über ein JavaScript-Plugin hochlädt, und ersetzt dort uplurl. Welche Fassung Ihr Shop verwendet, hängt am eingebundenen Skript und am Aufbau des Formulars. Mischen Sie die beiden nicht.
Die Grenzen
NewUplLink ist für den Fehlerfall gedacht, beispielsweise für den Hinweis bei überschrittener Dateigröße. Er führt zurück auf die Upload-Seite derselben Position.
Abgewiesene Dateien
Das Upload-Programm prüft jede Datei auf ihren MIME-Typ und auf Schadsoftware. Schlägt eine Prüfung an, erscheint der passende Bereich.Abschließen und wieder aufheben
Am Ende bestätigt der Käufer, dass er alle Dateien geliefert hat. Danach nimmt das Programm nichts mehr an. Das geht wahlweise für die ganze Bestellung oder je Position.{AllPosLock} und {SinglePosLock} werden nicht vom Template entschieden, sondern von der Betriebsart, die in der Konfiguration des Moduls hinterlegt ist. Es gibt drei Möglichkeiten: Abschluss nur für die ganze Bestellung, nur je Position, oder beides zugleich. Die Vorgabe ist der Abschluss für die ganze Bestellung. Bauen Sie beide Bereiche ein, dann arbeitet das Template in jeder Betriebsart.
Die Adressen der Formulare
poslockurl bezieht sich innerhalb der Positionsschleife auf die Position im Durchlauf und außerhalb auf die angezeigte Position. Deshalb funktioniert derselbe Platzhalter an beiden Stellen.
lockurl und ordlockurl tun dasselbe, sind aber für verschiedene Ansichten gedacht. Nehmen Sie in {ItemList} das eine und in {Item} das andere, so wie es die Spalte oben angibt.
Den Abschluss aufheben
Das Protokoll
Zu jedem Vorgang führt das Programm ein Protokoll, das sich im Template ausgeben lässt.Type ist bereits ein lesbarer Text wie “Datei hochgeladen” oder “Datei gelöscht”, kein technischer Code.
FileName steht sowohl in der Dateischleife als auch in der Protokollschleife und meint jeweils die Datei des aktuellen Durchlaufs. Das ist der einzige Platzhalter, den sich zwei Schleifen teilen.
Die Platzhalter im Überblick
Die Spalte “Steht in” nennt den Bereich oder die Schleife, innerhalb derer der Platzhalter stehen muss. “frei” bedeutet an beliebiger Stelle im Template. Die Spalte “Anfrage-Upload” sagt, ob der Platzhalter auch beim Upload aus dem Anfrageformular heraus zur Verfügung steht.
Weitere Platzhalter im Referenztemplate
Das mitgelieferte Template verwendet drei weitere Platzhalter.
Diese drei brauchen Sie nur, wenn Sie Fortschrittsanzeige und Abbruch im Template nachbauen. Das Referenztemplate zeigt, wie sie zusammenspielen. Für ein schlichtes Upload-Formular reichen die Platzhalter aus der Übersicht oben.
Verwandte Themen
- Wegweiser: Upload-Modul integrieren
- Referenz: wsupload.config
- Referenz: SENDUPLOADLINK- (Uploadlink per E-Mail verschicken)
