Modul: Warenkorb als Angebot
- Svenja Verheyen
- Julien Wolff
- Thiemo Schulz
cartOffer->created->date
Mit diesem kostenpflichtigen Modul ist es möglich einen Warenkorb als Angebot an eine frei definierbare Person zu senden.
Sobald ein Warenkorb als Angebot versendet wurde, wird der Angebotsempfänger per E-Mail darüber informiert.
Die E-Mail beinhaltet sowohl das Angebot als PDF-Datei, als auch einen Link um das Angebot im Shop aufzurufen.
Wird der Link aus der E-Mail aufgerufen, öffnet sich der Shop mit einer Übersicht des Angebots.
Hier kann das Angebot nochmals als PDF aufgerufen oder das Angebot in den Warenkorb übernommen werden.
Im Warenkorb können dann einzelne Positionen des Angebots wieder entfernt und weitere Artikel hinzugefügt werden.
Wichtig: Sobald ein Angebot in den Warenkorb übernommen wurde, ist es nicht mehr verfügbar und kann nicht erneut aufgerufen werden.
Die Übernahme des Angebots in den Warenkorb ersetzt bereits bestehende Positionen im Warenkorb nicht, sondern ergänzt sie lediglich.
Angebotssuche
Über die Angebotssuche lässt sich anhand der Angebotsnummer nach einem Angebot suchen.
Es erscheint die gleiche Seite, die auch über den E-Mail-Link aufgerufen wird.
Moduleinstellungen
Das Modul kann im Backend unter "Module / Warenkorb als Angebot" shopbasiert aktiviert und konfiguriert werden.
Zusätzlich können an dieser Stelle die Vorlagen für die generierte Angebots-PDF und die versendete E-Mail an den Angebotsempfänger editiert werden.
Über den Link "HTML" kann eine Vorschau der Vorlage aufgerufen werden.
Um die Vorschau mit Daten zu füllen, kann die aufgerufene URL um eine Angebotsnummer ergänzt werden:
/cart_offer.htm?offerNumber=<Angebotsnummer>
(Wichtig ist dabei, dass das Angebot noch besteht und noch nicht in den Warenkorb übernommen wurde.)
Mustervorlagen Download
{literal} <style> body { font-family: Arial, Verdana, sans-serif; font-weight:lighter; font-size:8pt; color:#000; } p {line-height:1em} th { font-family: Arial, Verdana, sans-serif; font-weight:lighter;font-size:8pt; color:#A7A7A7;line-height:1.4em} table th, table td {/*border:1px solid #808080;*/ background:#fff; font-size:8pt; line-height:1.2em; padding: 5px; } table.noBorder th, table.noBorder td {border:0px; background: none; } .headline {font-size:24px; font-weight:bold; color:#000000; display: block; padding: 5mm 0 10mm 0; } .table_border td {line-height: 1.2em;} </style> {/literal} <div style="width:170mm; margin-top:53mm; margin-left:18.5mm"> <table border="0" cellspacing="0" cellpadding="0" width="100%" align="center" class="noBorder" > <tr> <td valign="top" style="padding: 0!important; line-height: 1.2em;"> {if $cartOffer->address->company} {$cartOffer->address->company} <br />{/if} {if $cartOffer->address->firstname or $cartOffer->address->lastname} {$cartOffer->address->firstname} {$cartOffer->address->lastname} <br />{/if} {if $cartOffer->address->department} {$cartOffer->address->department} <br />{/if} {if $cartOffer->address->street} {$cartOffer->address->street} <br />{/if} {if $cartOffer->address->zip or $cartOffer->address->city} {$cartOffer->address->zip} {$cartOffer->address->city} <br />{/if} {if $cartOffer->address->countryName} {$cartOffer->address->countryName} {/if} <br> {if $cartOffer->address->employee} {$cartOffer->address->employee} {/if} <br> {if $cartOffer->address->comment} {$cartOffer->address->comment} {/if} <br> <br> <br> {if $cartOffer->address->vatId} USt- ID .: {$cartOffer->address->vatId} {/if} <br /> </td> <td width="50%" valign="top"></td> </tr> <tr> <td colspan="2" style="padding:0"><!-- Artikelaufzählung--> <span class="headline">Angebot</span> </td> </tr> </table> <br> {counter start=0 assign=count print=false} {foreach from=$cartOfferPositions item=item_best key=key_best} {counter} {if $key_best == "1"}<pagebreak/><p style="height:250px; width:100%; display:block"></p>{/if} {if $key_best == "3"}<pagebreak/><p style="height:250px; width:100%; display:block"></p>{/if} {if $key_best == "5"}<pagebreak/><p style="height:250px; width:100%; display:block"></p>{/if} {if $key_best == "7"}<pagebreak/><p style="height:250px; width:100%; display:block"></p>{/if} <table cellspacing="0" cellpadding="0" border="0" width="100%" style="padding:0px!important;" > <tr> {if $cartOffer->offerNumber} <td valign="top" width="25%"> Angebots-Nr.: {$cartOffer->offerNumber}</td> {/if} {if $cartOffer->created->date} <td align="left" valign="top" >Datum: {$cartOffer->created->format('Y-m-d H:i:s')}</td> {/if} </tr> </table> <table cellspacing="2" cellpadding="0" border="0" width="100%" > <tr> <td align="left" valign="top" nowrap style="background-color:#d9d9d9"><strong>{$item_best.bezeichnung}</strong></td> <td align="center" valign="top" style="background-color:#d9d9d9" nowrap width="10%" >USt.</td> <td align="right" valign="top" nowrap style="background-color:#d9d9d9" width="15%" >Preis</td> </tr> <tr> <td align="left" nowrap > {if $item_best.menge} {if $item_best.artikel.grossdruck_jn == "1"} <strong>Menge</strong>: {$item_best.menge}<br> {/if} {/if} {if $item_best.sorte} <strong>Sorte</strong>: {$item_best.sorte} <br /> {/if} {if $item_best.artikel.seitenanzahl_max_jn} <strong>Auflage:</strong> {$item_best.auflage_anzahl}<br /> <strong>Seitenanzahl</strong>: {$item_best.seitenanzahl_anzahl}<br /> {if $item_best.farbseiten} <strong>Farbseiten</strong>: {$item_best.farbseiten} <br /> {/if} {/if} {if $item_best.artikel.grossdruck_jn} {if $item_best.artikel.grossdruck_feste_groesse_jn} <strong>Format</strong>: {$item_best.auflage} cm <br /> {else} <strong>Breite</strong>: {$item_best.grossdruck_width} cm <br /> <strong>Höhe</strong>: {$item_best.grossdruck_height} cm <br /> {/if} {if $item_best.artikel.GrossdruckRahmung} <strong>Rahmung</strong>: {$item_best.GrossdruckRahmung.bezeichnung}<br /> {/if} {/if} {if $item_best.auflage}{if !$item_best.artikel.grossdruck_jn} <strong>Auflage:</strong> {$item_best.auflage}<br /> {/if}{/if} </td> <td align="center" ></td> <td align="right" ></td> </tr> </table> <table cellspacing="2" cellpadding="0" border="0" width="100%"> <tr> <td colspan="4" valign="top" style="width:33mm" > Material Verarbeitung ({$item_best.preis.orig_druckpreis} {$item_best.waehrung})<br> {assign var="rep" value="0"} {assign var="rep_ges" value="0"} {foreach from=$item_best.zusatz item=item_zusatz key=key_zusatz} {assign var="rep" value=$item_zusatz.aufschlag|replace:",":"."} {assign var="rep_ges" value="`$rep_ges + $rep`"} {$item_zusatz.wert} ({$item_zusatz.aufschlag} {$item_best.waehrung}) <br /> {/foreach}</td> <td align="center" valign="top" width="10%" >{$item_best.mwst}%</td> <td align="right" valign="top" width="15%"> {assign var="preis_ges" value="0"} {assign var="rep2" value="0"} {assign var="rep2" value=$item_best.preis.orig_druckpreis|replace:",":"."} {assign var="preis_ges" value="`$preis_ges + $rep_ges + $rep2`"} {$preis_ges|number_format:2:",":"."} {$item_best.waehrung} </td> </tr> {if $item_best.option || $item_best.option_dyn || $item_best.zusatzfelder} <tr> <td colspan="4" valign="top" ><!-- Artikel-Format --> {foreach from=$item_best.option item=item_option key=key_option} {$item_option.bezeichnung} ({$item_option.aufschlag} {$item_best.waehrung}) <br /> {/foreach} {if $item_best.option_dyn} {assign var="rep" value="0"} {assign var="rep_ges" value="0"} {foreach from=$item_best.option_dyn item=item_dyn key=key_dyn} {assign var="rep" value=$item_dyn.aufschlag|replace:",":"."} {assign var="rep_ges" value="`$rep_ges|replace:",":"." + $rep|replace:",":"."`"} {$item_dyn.bezeichnung} ({$item_dyn.aufschlag} {$item_best.waehrung})<br /> {/foreach} {/if} {if $item_best.zusatz} {foreach from=$item_best.zusatzfelder item=item_zusatzfelder key=key_zusatzfelder} {$item_zusatzfelder.bezeichnung}: {$item_zusatzfelder.value} <br /> {/foreach} {/if} {if $item_best.zusatzfelder}<br /> {foreach from=$item_best.zusatzfelder item=item_zusatzfelder key=key_zusatzfelder}<br /> <strong>{$item_zusatzfelder.bezeichnung}: </strong>{$item_zusatzfelder.value}<br /> {/foreach} {/if} </td> <td align="center" valign="top" >{$item_best.mwst}%</td> <td align="right" valign="top" > {assign var="preis_ges" value="0"} {assign var="preis_ges" value="`$preis_ges + $rep_ges|replace:",":"."`"} {$preis_ges|number_format:2:",":"."} {$item_best.waehrung} {*if $item_best.preis.rabatt}Rabatt : - {$item_best.preis.rabatt} {$cartOfferPositions.0.waehrung}<br /> {/if} {if $item_best.preis.gutschein_posten}Gutschein : -{$item_best.preis.gutschein_posten} {$cartOfferPositions.0.waehrung}<br /> {/if} {$item_best.preis.gesamtartikelpreis} {$item_best.waehrung*} </td> </tr> {/if} {if $item_best.printWareHouseCartConfiguration} <tr> <td colspan="4" valign="top" > {foreach from=$item_best.printWareHouseCartConfiguration->options item="printWareHouseOption"} {$item_best['printWareHouseAttributes'][$printWareHouseOption->attributeId]->name}: {$printWareHouseOption->name}<br> {/foreach} </td> <td align="center" valign="top" ></td> <td align="right" valign="top" ></td> </tr> {/if} {if $item_best.kosten} <tr> <td valign="top" > Zusätzliche Kosten </td> <td colspan="3" valign="top" > {foreach from=$item_best.kosten item=item_zusatz key=key_zusatz} {$item_zusatz.bezeichnung} <br /> {/foreach} </td> <td align="center" valign="top" >{$item_best.mwst}%</td> <td align="right" valign="top" > {foreach from=$item_best.kosten item=item_zusatz key=key_zusatz} {$item_zusatz.wert} {$item_best.waehrung} <br /> {/foreach} </td> </tr> {/if} {if $item_best.preis.rabatt} <tr> <td valign="top" > Rabatt </td> <td colspan="3" valign="top" > </td> <td align="center" valign="top" >{$item_best.mwst}%</td> <td align="right" valign="top" > - {$item_best.preis.rabatt} {$item_best.waehrung} <br /> </td> </tr> {/if} </table> <br> {/foreach} <table cellspacing="2" cellpadding="0" border="0" width="100%" > <tr> <td width="50%" rowspan="15" valign="top" ><table border="0" cellpadding="0" cellspacing="0" width="100%" align="left" > <tr> <td valign="top" style="border:none"> <p> </p></td> <td style=" border:none" align="left" valign="top"> vorgesehenes Lieferdatum:<br> <br> {$cartOfferPositions.0.liefertermin} <br/ ></td> </tr> <tr> <td colspan="2" valign="top" style=" border:none"> </td> </tr> </table> </td> <td nowrap ><strong>Summe Waren</strong></td> <td align="right"><strong> {$cartOfferPositions.0.preisWarenkorb.gesamtdruckpreis} {$cartOfferPositions.0.waehrung} </strong></td> </tr> <tr> <td nowrap>Versand (19% USt.)</td> <td align="right">{$cartOfferPositions.0.preisWarenkorb.versand} {$cartOfferPositions.0.waehrung}</td> </tr> {if $cartOfferPositions.0.preisWarenkorb.mindermengenzuschlag} <tr> <td nowrap> Mindermengenzuschlag </td> <td align="right">{$cartOfferPositions.0.preisWarenkorb.mindermengenzuschlag} {$cartOfferPositions.0.waehrung}</td> </tr> {/if} {if $cartOfferPositions.0.preisWarenkorb.satzmehrarbeit} <tr> <td nowrap >Satzmehrarbeit</td> <td align="right" >{$cartOfferPositions.0.preisWarenkorb.satzmehrarbeit} {$cartOfferPositions.0.waehrung}</td> </tr> {/if} {if $cartOfferPositions.0.preisWarenkorb.globalRabattMWST} {foreach from=$cartOfferPositions.0.preisWarenkorb.globalRabattMWST item=item key=key} <tr> <td nowrap >Rabatt ({$key}% USt.)</td> <td align="right" >- {$item} {$cartOfferPositions.0.waehrung}</td> </tr> {/foreach} {else} {if $cartOfferPositions.0.preisWarenkorb.rabatt != "0,00"} <tr> <td nowrap>Rabatt</td> <td align="right">- {$cartOfferPositions.0.preisWarenkorb.rabatt} {$cartOfferPositions.0.waehrung}</td> </tr> {/if} {/if} {if $cartOfferPositions.0.preisWarenkorb.gutschein} <tr> <td nowrap> Gutschein </td> <td align="right">- {$cartOfferPositions.0.preisWarenkorb.gutschein} {$cartOfferPositions.0.waehrung}</td> </tr> {/if} {if $cartOfferPositions.0.preisWarenkorb.gesamtpreis_netto} {if $cartOfferPositions.0.bruttpreise_jn != "1"} <tr> <td nowrap ><strong>Nettobetrag</strong></td> <td align="right" ><strong>{if $cartOfferPositions.0.preisWarenkorb.gesamtpreis_netto_5Cent}{$cartOfferPositions.0.preisWarenkorb.gesamtpreis_netto_5Cent}{else}{$cartOfferPositions.0.preisWarenkorb.gesamtpreis_netto}{/if} {$cartOfferPositions.0.waehrung}</strong></td> </tr> {/if} {/if} {foreach from=$cartOfferPositions.0.ARR_MwstAbweichend item=item key=key} <tr> <td nowrap>Ust. {$key}%</td> <td align="right">{$item.mwst} {$cartOfferPositions.0.waehrung}</td> </tr> {/foreach} {if !$cartOfferPositions.0.ARR_MwstAbweichend} <tr> <td nowrap>Ust. {$cartOfferPositions.0.mwst} %</td> <td align="right"> {$cartOfferPositions.0.preisWarenkorb.gesamtpreis_enth_mwst} {$cartOfferPositions.0.waehrung}</td> </tr> {/if} <tr> <td nowrap><strong>Rechnungsbetrag</strong></td> <td align="right"><strong>{if $cartOfferPositions.0.preisWarenkorb.gesamtpreis_brutto_5Cent}{$cartOfferPositions.0.preisWarenkorb.gesamtpreis_brutto_5Cent}{else}{if $cartOfferPositions.0.preisWarenkorb.gesamtpreis_brutto_all} {$cartOfferPositions.0.preisWarenkorb.gesamtpreis_brutto_all}{else} {$cartOfferPositions.0.preisWarenkorb.gesamtpreis_brutto}{/if}{/if} {$cartOfferPositions.0.waehrung}</strong></td> </tr> </table> </div>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> </head> <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" style="background-color:#e6e6e6;margin:0;padding:0;font-family:Arial;font-size:12px;"> <center> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="389" valign="top" bgcolor="#e6e6e6"><table width="620" border="0" align="center" cellpadding="0" cellspacing="0" id="backgroundTable"> <tr> <td height="30" align="center" valign="middle" bgcolor="#e6e6e6" style="color:#979797;text-align:none;font-size:11px;text-decoration:underline; font-family:Arial, Helvetica, sans-serif;"> </td> </tr> <tr> <td valign="top" bgcolor="#FFFFFF"><table width="590" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="15"> </td> </tr> <tr> <td>{$globalHeader}</td> </tr> <tr> <td height="100" align="left" valign="middle" style="background:#f2f2f2; padding:20px 10px;"><span style="font-size:14px; line-height:1.5em;color:#000;font-family:Arial, Helvetica, sans-serif; display:block;">Hallo,<br /> <br /> es wurde über {$variables.shopUrl} ein Angebot für Sie erstellt.<br /> Um das Angebot anzusehen und zu bestellen, klicken Sie bitte <a href="http://{$variables.shopUrl}/cart_offer.htm?offerNumber={$cartOffer->offerNumber}">hier</a>.</td> </tr> <tr> <td>{$globalFooter}</td> </tr> </table></td> </tr> </table> </td> </tr> </table> </center> </body> </html>