The here described configurations are displayed in the checkout step 3.
{if $sUserData.additional.payment.name eq "cash"} plus 2,00 $ C.O.D. fee {/if}
{if $sBasketItem.purchaseunit && $sBasketItem.purchaseunit != 0}
<span class="price--label label--purchase-unit is--bold is--nowrap">
Content:
</span>
<span class="is--nowrap">
{$sBasketItem.purchaseunit|floatval} {$sBasketItem.additional_details.sUnit.description}
</span>
{/if}
{if $sBasketItem.purchaseunit && $sBasketItem.additional_details.referenceunit && $sBasketItem.purchaseunit != $sBasketItem.additional_details.referenceunit}
<span class="is--nowrap">
({$sBasketItem.additional_details.referenceprice|currency} * / {$sBasketItem.additional_details.referenceunit} {$sBasketItem.additional_details.sUnit.description})
</span>
{/if}
Please check whether all legally relevant information for you is stored, otherwise adapt the template accordingly.
The check of the general terms and conditions can be deactivated if you want to. For this you have to change the option Deactivate AGB terms checkbox on checkout page: to Yes at Configuration > Basic settings > Additional settings > Privacy.
This will remove the AGB-Box at the last checkout page.
The customer now could finish the checkout without confirmation of the general terms and conditions.
In the basic settings you can define for which amount the customer gets the option to request an individual inquiry for the products in the cart.
For this you have to change the option Minimum shopping cart value for offering individual requests: to the amount you want at Configuration > Basic settings > Frontend > Shopping cart / item details.
The frontend will now display this additional button Request offer (1) in the cart. To change the text of the button you can change the snipppet CheckoutActionsLinkOffer at Configuration > Snippets.
You can output your variables by pasting the following code in the template for essential characteristics. The example will restrict the output by IP:
{if $smarty.server.REMOTE_ADDR == 'xxx.xxx.xxx.xxx'} {$sBasketItem|print_r} {/if}
After clearing the cache all variables will output in the frontend. With this information you see directly which item data are available. This will look similar to this:
Array (
[id] => 670
[sessionID] => 702r4gndiokp62a6g3g5foed82
[userID] => 3
[articlename] => Münsterländer Aperitif 16%
[articleID] => 3
[ordernumber] => SW10003
[shippingfree] => 0
[quantity] => 1
[price] => 14,95
[netprice] => 12.563025210084
[tax_rate] => 19
[datum] => 2015-06-15 08:40:48
[modus] => 0
[esdarticle] => 0
[partnerID] =>
[lastviewport] => checkout
[useragent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
[config] =>
[currencyFactor] => 1
[packunit] => Flasche(n)
[mainDetailId] => 3
[articleDetailId] => 3
[minpurchase] => 1
[taxID] => 1
[instock] => 25
[suppliernumber] =>
[maxpurchase] => 100
[purchasesteps] => 1
[purchaseunit] => 0.7000
[unitID] => 1
[laststock] => 0
[shippingtime] =>
[releasedate] =>
[sReleaseDate] =>
[ean] =>
[stockmin] => 0
[ob_attr1] =>
[ob_attr2] =>
[ob_attr3] =>
[ob_attr4] =>
[ob_attr5] =>
[ob_attr6] =>
.....
As soon as the customer tries to add an item to the shopping cart, Shopware checks whether the desired quantity of this item is available. At this point, however, no stock is reserved or deducted. As soon as the checkout has been completed, the actual comparison takes place. It is now checked again whether the stock is sufficient for the ordered quantity. If this is the case, the checkout is carried out and the ordered quantity is deducted from the stock.
Under Configuration > Basic Settings > Frontend > Checkout you will find the two configurations:
If the option for ESD items is set and an ESD item is purchased, a corresponding checkbox with a note on the expiring right of returns is displayed in the checkout.
An attribute must be specified for the service item, which should then be treated as a boolean value (checkbox). If a value is found in an item in the shopping basket, another checkbox is displayed in the checkout regarding the expiring right of cancellation.
Further information in Englisch:
Further information in German
So go through all the points and processes in detail so that you have implemented the legal and technical requirements. These include, for example:
If you are affected by this change, you can add these queries using the ConfirmTextRightOfRevocationNew snippet on the order completion page.
can adapt the snippet ConfirmTextRightOfRevocationNew in the snippet administration in the backend for the order completion page. In this snippet, a valid link to the sample cancellation/returns form in PDF form must be stored.
Smarty queries can be used here to store individual return instructions in the snippet ConfirmTextRightOfRevocationNew (1). Below are a few practical examples. Copy the desired Smarty code directly into the field Value (2) and then click on Update (3). As soon as you have cleared the cache, the Smarty query appears on the order completion page.
Special cancellation policy for a payment method
In this example, the name of the payment method Prepayment is requested:
{if $sUserData.additional.payment.description == "Prepayment"}
Deviating <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for the payment method prepayment.
{else}
Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>
{/if}
If you use a language subshop, you must use the ID of the payment method instead of the name. This is displayed in the details of the payment method (1).
In this example, a different cancellation policy is requested for the payment type with ID 4 (invoice):
{id $sUserData.additional.payment.id == "4"}
Deviating <a href="http://myshopwareshop.co.uk/cp_payment" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for payment type ID 4 (invoice)
{else}
Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>
{/if}
Special cancellation policy for a dispatch type
With this query, a different cancellation instruction appears if the name of the dispatch type is pallet_shipping:
{if $sDispatch.name == "pallet_shipping"}
<p>Deviating <a href="http://myshopwareshop.co.uk/dispatch" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for the dispatch type pallet shipping.</p>
{else}
<p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}
If you use language subshops, you must query the ID of the dispatch type instead of the name.
You will find this ID in the database table s_premium_dispatch (1) in the column id (2).
In this example, the dispatch type with the ID 9 is queried:
{if $sDispatch.id == "9"}
<p>Deviating <a href="http://myshopwareshop.co.uk/cp-dispatch" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for the dispatch type with the ID 9.</p>
{else}
<p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}
Special cancellation policy for an ESD article
This query throws up a different cancellation policy as soon as an ESD item is in the shopping basket:
{$esd = false}
{foreach $sBasket.content as $basketItem}
{if $basketItem.esdarticle}{$esd = true}{/if}
{/foreach}
{if $esd}
<p>Deviating <a href="http://myshopwareshop.co.uk/cp-esd" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for ESD article.</p>
{else}
<p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}
Special cancellation policy for a subscription article
You can use this query to display a different cancellation policy as soon as an subscription item is in the shopping basket.
{$aboCommerce = false}
{foreach $sBasket.content as $basketItem}
{if $basketItem.aboCommerce}{$aboCommerce = true}{/if}
{/foreach}
{if $aboCommerce}
<p>Deviating <a href="http://myshopwareshop.co.uk/cp-sub" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for subscriptions.</p>
{else}
<p>Normal <a href="http://myshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}
Special cancellation policy for an article which has a free text field set
This query displays a different cancellation policy as soon as there is an item in the shopping basket for which the item free text field 9 (attr9) is set.
{$attr9 = false}
{foreach $sBasket.content as $basketItem}
{if $basketItem.additional_details.attr9}{$attr9 = true}{/if}
{/foreach}
{if $attr9}
<p>Deviating <a href="http://myshopwareshop.co.uk/cp_attr9" data-modal-height="500" data-modal-width="800">Cancellation policy</a> for articles with attribute field</p>
{else}
<p>Normal <a href="http://hmyshopwareshop.co.uk/cp" data-modal-height="500" data-modal-width="800">Cancellation policy</a>.</p>
{/if}
Imprint
Check whether a valid telephone number is stored in your imprint and in the basic information of the shop settings.
Provide payment method without surcharge
Make sure that you offer a payment method that can be used without a surcharge. You can store the surcharges directly in the payment methods in the backend.
Product delivery times on the item detail page
For products that are not immediately available (e.g. dropshipping products), you must enter a valid delivery time in days in the item details in the backend. You can find more information on delivery times in days here.
Delivery times of the logistics partner
Enter the delivery times of the logistics partner in the description field for the individual shipping costs. You can find more information about the shipping costs here.
Provide the cancellation form on a durable medium
The cancellation form must be sent to the consumer on a durable medium after conclusion of the contract. This can be implemented in Shopware, for example, as an e-mail attachment together with the order confirmation (sORDER). You can find more information on customising the order confirmation email template here.
No overpriced premium rate numbers
Make sure that the snippet sFooterServiceHotline in the footer does not contain any expensive premium rate telephone numbers e.g. 0900. You can change the snippet in the snippets administration in the Shopware backend.
Returns form in the footer
You can easily remove the link to the return form in the footer. This is a link which you can find in the shop page administration in the backend under Contents > Shop pages > Bottom (column 1) > Return. You can find more information about the shop pages here.
Reference to additional charge for cash on delivery payment method
In the case of cash on delivery payment, an additional note must be issued regarding the additional fee demanded by the logistics company for cash on delivery. This note must appear on the checkout page under the total amount.