Jobticket

Jobticket

sand vorbereiteIn der Administration kann unter Verwaltung → Shops → bearbeiten → Vorlagen das Jobticket pro Shop aktiviert werden. Hierfür muss die Vorlage befüllt werden. Das Jobticket wird aktiviert wenn die Vorlage Daten enthält. Dann wird diese jeweils an den eingestellten Stellen angezeigt / ausgegeben.

Umbruch auf eine zweite Seite:

<div style="PAGE-BREAK-AFTER: always">...</div>

Folgende Variablen stehen für das Jobticket zur Verfügung:



Variable

Typ

Beschreibung

Variable

Typ

Beschreibung

{$order}

object

Bestellung

{$cart}

array

Warenkorb

{$orderInfo}

array

Zusätzliche Bestellinformationen

{$module}

array

Für Abfragen ob jeweiliges Modul aktiv ist

{$Payment}

array

Zahlungsart (Live)

{$Firma1}

string

Lieferadresse: Firma

{$Firma2}

string

Lieferadresse: Firma 2

{$Titel}

string

Lieferadresse: Titel

{$Ansprechpartner}

string

Lieferadresse: Ansprechpartner

{$Strasse}

string

Lieferadresse: Straße

{$PLZ}

string

Lieferadresse: PLZ

{$Ort}

string

Lieferadresse: Ort

{$Kostenstelle}

string

Kostenstelle

{$InvoiceCompany}

string

Rechnungsadresse: Firma

{$InvoiceCompany2}

string

Rechnungsadresse: Firma 2

{$InvoiceCompany3}

string

Rechnungsadresse: Firma 3

{$InvoiceTitle}

string

Rechnungsadresse: Titel

{$InvoiceName}

string

Rechnungsadresse: Ansprechpartner

{$InvoiceStreet}

string

Rechnungsadresse: Straße

{$InvoiceZIP}

string

Rechnungsadresse: PLZ

{$InvoiceTown}

string

Rechnungsadresse: Ort

{$InvoiceCountry}

string

Rechnungsadresse: Land

{$InvoiceEMail}

string

Rechnungsadresse: E-Mail

{$Bestelldatum}

string

Bestelldatum

{$DeliveryDate}

string

Lieferdatum

{$InvoiceDate}

string

Bestelldatum formatiert (%e.%m.%Y)

{$Datum}

string

Bestelldatum formatiert (%e.%m.%Y)

{$Bestellcode}

string

Auftrags-Code (berücksichtigt aus den individuellen Code)

{$OrderCode}

string

6-stelliger Auftrags-Code

{$LieferscheinCode}

string

6-stelliger Auftrags-Code

{$Rechungscode}

string

6-stelliger Auftrags-Code

{$OrderNr}

string

Bestellnummer

{$LieferscheinNr}

string

Bestellnummer

{$InvoiceNr}

string

Bestellnummer

{$billNumber}

string

Bestellnummer für Dienstleister

{$Lieferscheindatum}

string

Datum zum Zeitpunkt des Aufrufes

{$Bemerkung}

string

Bemerkung

{$CustomerUser}

array

Daten des Benutzers (live)

{$Kundendaten}

array

Daten des Benutzers (live)

{$Kunde}

array

Kundennummer des Benutzers (live)

{$ShopURL}

string

Url des Kunden-Shops

{$payment}

array

Zahlungsart

{$delivery}

array

Versandart



Code-Vorlagen für das Jobticket

MwSt
# Mit dem folgenden Beispiel kann die verwendete MwSt satz und den dazugehörigen Wert ausgeben. # Falls der Warenkorb einen der beiden Steuersätze nicht hat, wird diese nicht angezeigt mit "floatval($vatValue) !== 0.0". {foreach from=$taxSplitted->orderItemTaxSums item=vat key=vatKey} {if floatval($vat->taxValue) !== 0.0 } <div> <span>{$vatKey}% MwSt</span> <span>{$vat->taxValue/100} EUR</span> </div> {/if} {/foreach}
Freifelder im Warenkorb
{assign var="customFields" value=$order->getCustomFields()} {if $customFields} {foreach key=name item=value from=$customFields} {$name}: {$value}<br> {/foreach} {/if}
Artikelzusatzfelder im Warenkorb
Alte Vorlage: Innerhalb der folgenden Abfrage werden die Warenkorbpositionen durchlaufen: {foreach key=key item=item from=$cart} {/foreach} Setzen Sie die Abfrage für die Zusatzfelder ein. {if $item.warenkorb_zusatzfelder_array} {foreach key=name item=value from=$item.warenkorb_zusatzfelder_array} {$name}: {$value}<br> {/foreach} {/if} Beispiel: {foreach key=key item=item from=$cart} {if $item.warenkorb_zusatzfelder_array} {foreach key=name item=value from=$item.warenkorb_zusatzfelder_array} {$name}: {$value}<br> {/foreach} {/if} {/foreach} Neue Vorlage: {if $item->get('warenkorb_zusatzfelder_array')} {foreach from=$item->get('warenkorb_zusatzfelder_array')|unserialize item=zusatzfeld key=name} {$name}: {$zusatzfeld} {/foreach} {/if}
Artikeloptionen im Warenkorb
Innerhalb der folgenden Abfrage werden die Warenkorbpositionen durchlaufen: {foreach key=key item=item from=$cart} {/foreach} Setzen Sie die Abfrage für die Artikeloptionen ein. {if $item.article_options} {foreach key=name item=value from=$item.article_options} {$name}: {$value}<br> {/foreach} {/if} Beispiel: {foreach key=key item=item from=$cart} {if $item.article_options} {foreach key=name item=value from=$item.article_options} {$name}: {$value}<br> {/foreach} {/if} {/foreach}    
Personalisierungsfelder
Innerhalb der folgenden Abfrage werden die Warenkorbpositionen durchlaufen: {foreach key=key item=item from=$cart} {/foreach} Setzen Sie die Abfrage für die Personalisierungsfelder ein. {if $item.persdata_array} {foreach key=name item=value from=$item.persdata_array} {$name}: {$value}<br> {/foreach} {/if} Beispiel: {foreach key=key item=item from=$cart} {if $item.persdata_array} {foreach key=name item=value from=$item.persdata_array} {$name}: {$value}<br> {/foreach} {/if} {/foreach}
Artikeldaten
Innerhalb der folgenden Abfrage werden die Warenkorbpositionen durchlaufen: {foreach key=key item=item from=$cart} {/foreach} Setzen Sie die Abfrage für die Artikelbeschreibung ein. {if $item.article_fulldesc} {$item.article_fulldesc} {/if} Setzen Sie die Abfrage für die interne Artikelbezeichnung ein. {if $item.article_desc_intern} {$item.article_desc_intern} {/if} Beispiel: {foreach key=key item=item from=$cart} {if $item.article_fulldesc} Artikelbeschreibung: {$item.item.article_fulldesc} {/if} {if $item.article_desc_intern} interne Artikelbezeichnung: {$item.item.article_desc_intern} {/if} {/foreach} Setzen Sie die Abfrage für die Artikelnummer (SAP-Nummer / openTRANS Manufacturer-AID) ein. {foreach from=$orderObject->getOrderCart() item=item key=cartId name=foo} Wenn Sie Positionen mit dem Status Storno, Druckfreigabe abgelehnt, Freigabe abgelehnt, Gelöscht ausschließen möchten: {if in_array($item->get('status'), ['STORNO','DRUCKFREIGABE ABGELEHNT', 'GELÖSCHT', 'FREIGABE ABGELEHNT'])} {continue} {/if} {if $item->getArticle()->get('article_sap_nummer')}{$item->getArticle()->get('article_sap_nummer')}{/if} {/foreach}
Beispiel Jobticket
<!-- {bb_vars output='html'}--><head> <style> h3 { font-family: Verdana; font-size: large; font-weight: bold; color: #0000FF;} h1 { font-family: Verdana; font-size: 24px; font-weight: normal } </style> </head> <table width="95%" cellspacing="1" cellpadding="1" border="1" summary=""> <tbody> <tr> <td> <h3>AUFTRAGSTASCHE I-Shop</h3> </td> <td width=30% valign="top" align="left"> <h3>Nr.: {$Rechungscode}</h3><br>Termin: schnellst möglich </td> </tr> <tr> <td> <h1> <p >{$Firma1}<br /> {$Firma2}<br /> {$Strasse}<br /> {$PLZ} {$Ort}</font></p> </h1> </td> <td valign="top" align="left"> <h1> <p >Bestelldatum:<br /> {$datum}<br />{$OrderDate}<br />Bestellnummer-Nr. {$LieferscheinNr} - {$LieferscheinCode}</p></h1></td> </tr> <tr> <td> </td> <td width="50" align="left"> </td> </tr> </tbody> </table> <br> <br> <table width=95% cellspacing="2" cellpadding="2" bordercolor="#666666" border="0" align="" summary=""> <tbody> <tr> <td style="background-color: rgb(204, 204, 204); font-family: Arial;"><font size="2"><span ><strong>Pos.</strong></span></font></td> <td style="background-color: rgb(204, 204, 204); font-family: Arial;"><font size="2"><span ><strong>Produkt:</strong></span></font></td> <td style="background-color: rgb(204, 204, 204); font-family: Arial;"><font size="2"><span ><strong>Daten:</strong></span></font></td> <td style="background-color: rgb(204, 204, 204); font-family: Arial;"><font size="2"><span ><strong>Anzahl</strong></span></font></td> </tr> <font size="2"> {counter start=0 print=false assign=pos} {foreach from=$cart item=item} {counter} </font> <tr valign="top"> <td bgcolor="#ffffcc" bordercolor="#000000"><font size="2"><span >{$pos}<br /></span></font></td> <td bgcolor="#ffffcc" bordercolor="#000000"><font size="2"><span ><font size="1"><!--Artikelbeschreibung-->{$item.s_desc}{if $item.artikelnummer}<br><!--Artikelnummer-->{$item.artikelnummer}{/if}</font><br /> <br> <!--Ausgabe von Nichtartikel (Bestelloptionen) --> {foreach from=$order->getOrderCart() item=cartObject} {if !$cartObject->getArticle()}<font size="2"><span > {$cartObject->getCartPosition()}<br> {$cartObject->get('s_desc')}<br> Anzahl:{$cartObject->get('s_qty')}<br> </span></font></br> {/if} {/foreach} <!-- --> <br /> <!-- Bemerkung -->{if $item.remark} <span style="font-weight: bold;"><font size="1">Bemerkung</font>:</span><br /><font size="1">{$item.remark}</font><br>{/if} </span></font></td> <td bgcolor="#ffffcc" bordercolor="#000000"><font size="2"><span >{$item.persdata}</span></font></td> <td bgcolor="#ffffcc" bordercolor="#000000"><font size="2"><span >{$item.s_qty}</span></font></td> </tr> {/foreach} </tbody> </table> <br> <br> <table border="1" summary="" width="95%" cellspacing="2" cellpadding="2" align=""> <tbody> <tr> <td><span style="font-size: small;"><strong>Endmenge:</strong></span></td> <td><span style="font-size: small;"><strong>Anz. Kartons:</strong></span></td> <td><span style="font-size: small;"><strong>zu:</strong></span></td> <td><span style="font-size: small;"><strong>verpackt von:</strong></span></td> </tr> <tr> <td><span style="font-size: small;"><strong><br><br></strong></span></td> <td><span style="font-size: small;"><strong>{$artikelnummer}</strong></span></td> <td><span style="font-size: small;"><strong></strong></span></td> <td><span style="font-size: small;"><strong></strong></span></td> </tr> </tbody> </table>
Notizen für Bestellungen
Innerhalb der folgenden Abfrage werden bestellbezogene Notizen abgefragt, die nach Bestellung im Backend abgeändert werden können: VARIABLE {if $orderObject}{$orderObject->getOrderInfo('notes')}{/if}
Dienstleister Zusatzfelder aus Bestelloption
{foreach key=key item=additionalField from=$serviceProvider->additionalFields} {$additionalField->name}: {$additionalField->value}<br> {/foreach}
Währung
{assign var='currency' value=$orderObject->getOrderInfo('currency')} Symbol: {$currency.symbol} Name: {$currency.name}
Vorschau personalisierter Artikel bzw. Artikelbild
{foreach from=$orderObject->getOrderCart() item=item key=cartId} {if isset($cart[$item->get('id')]['previewArticleImagePath'])} <img src="{$cart[$item->get('id')]['previewArticleImagePath']}"> {/if} {/foreach}
Nur freigegebene Positionen ausgeben
{* nur einträge laden, die den Staus "OK" haben *} {assign var=orderItems value=$orderObject->getOrderCart(null, true, 'OK')} {* Anzahl relevante Einträge initilaisieren *} {assign var=orderItemCount value=0} {foreach from=$orderItems item=item key=cartId name=foo} {if $item->get('parent_id') || !$item->get('aid')}{continue}{/if} {* Anzahl relevante Einträge zählen *} {$orderItemCount=$orderItemCount+1} {/foreach} {counter print=false assign=countPos} {foreach from=$orderItems item=item key=cartId name=foo} {if $item->get('parent_id') || !$item->get('aid')}{continue}{/if} Auftrag {$OrderCode} - Pos {$countPos} von {$orderItemCount} .... {/foreach}
Dynamischer Dateiname von Warenkorbpositionen
{foreach from=$item.positionFiles item=itemFile name=foo} {$itemFile->displayName} {/foreach}



Jobticket pro Dienstleister

Sollen ausschließlich die Bestellpositionen des jeweiligen Dienstleisters im Jobticket aufgeführt werden, kann dies über die Funktion "Jobticket pro Dienstleister" eingestellt werden. Diese Option befindet sich unter "Verwaltung → Shops → bearbeiten → Vorlagen" (unterhalb des Jobtickets). Ist diese Funktion aktiviert, wird der direkte Download in der Bestellung innerhalb der globalen Administration deaktiviert. Das Jobticket ist dann nur noch im Dienstleisterbackend in den einzelnen Bestellungen downloadbar.