Aggiunta di un'opzione per la confezione regalo alla pagina del carrello
Puoi offrire ai tuoi clienti un servizio di confezionamento dei regali sulla pagina del carrello del negozio online. Ai clienti che desiderano questo servizio puoi addebitare una tariffa forfettaria o un addebito in base al singolo prodotto.

Avvertimento: Questa personalizzazione non funziona con gli stili che prevedono l'apertura del carrello in una finestra o in modalità pop up, ma solo con una pagina del carrello (all'URL
your-store.com/cart
). Se usi una finestra del carrello o un pop up, dovrai modificare lo stile del carrello in Pagina nell'editor del tema. Aggiungi un prodotto al carrello nell'anteprima del tema, quindi clicca sulla scheda Pagina del carrello dell'editor del tema per visualizzare le impostazioni del carrello.
Su questa pagina
Creazione di un prodotto con confezione regalo
Per prima cosa creerai l'opzione della confezione regalo come prodotto:
Dal pannello di controllo Shopify vai a Prodotti.
Clicca su Aggiungi prodotto.
Crea un prodotto con confezione regalo proprio come faresti per qualsiasi altro prodotto:
- Puoi utilizzare la descrizione del prodotto per spiegare quali materiali verranno utilizzati per il confezionamento degli articoli.
- Assegna al prodotto con confezione regalo il prezzo che desideri addebitare per il servizio. Se desideri che il confezionamento dei regali sia gratuito, imposta il prezzo del prodotto con confezione regalo su
0
. - Puoi caricare un'immagine del prodotto per mostrare ai clienti l'aspetto di un ordine con confezione regalo.
- Assicurati che il prodotto con confezione regalo includa le scorte oppure modifica le impostazioni in modo che Shopify non monitori le scorte per il prodotto con confezione regalo. Se il tuo negozio dispone di più sedi, deseleziona l'opzione Monitora quantità per impedire a Shopify di monitorare le scorte per il prodotto con confezione regalo.
- Clicca su Salva.
Creazione di un menu
Successivamente, crea un menu che punti al prodotto con confezione regalo:
Desktop
Dal pannello di controllo Shopify vai su Contenuti > Menu.
Fai clic su Aggiungi menu.
Assegna al menu il nome
Gift wrapping
, in modo che l'handle assegnato al menu siagift-wrapping
.Aggiungi il prodotto con confezione regalo al menu:
- Clicca su Aggiungi voce di menu, quindi inserisci un Nome per il link al prodotto con confezione regalo.
- Nel campo Link seleziona Prodotti, quindi seleziona il prodotto con confezione regalo dal menu a discesa.
- Fai clic su Aggiungi.
Fai clic su Salva menu.
iPhone
Nell'app di Shopify tocca il pulsante ….
Tocca Contenuti > Menu.
Fai clic su Aggiungi menu.
Assegna al menu il nome
Gift wrapping
, in modo che l'handle assegnato al menu siagift-wrapping
.Aggiungi il prodotto con confezione regalo al menu:
- Clicca su Aggiungi voce di menu, quindi inserisci un Nome per il link al prodotto con confezione regalo.
- Nel campo Link seleziona Prodotti, quindi seleziona il prodotto con confezione regalo dal menu a discesa.
- Fai clic su Aggiungi.
Fai clic su Salva menu.
Android
Nell'app di Shopify tocca il pulsante ….
Tocca Contenuti > Menu.
Fai clic su Aggiungi menu.
Assegna al menu il nome
Gift wrapping
, in modo che l'handle assegnato al menu siagift-wrapping
.Aggiungi il prodotto con confezione regalo al menu:
- Clicca su Aggiungi voce di menu, quindi inserisci un Nome per il link al prodotto con confezione regalo.
- Nel campo Link seleziona Prodotti, quindi seleziona il prodotto con confezione regalo dal menu a discesa.
- Fai clic su Aggiungi.
Fai clic su Salva menu.
Creazione di un frammento di codice
Desktop
- Dal pannello di controllo Shopify, vai su Negozio online > Temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Frammenti, clicca su Aggiungi un nuovo frammento.
- Assegna al frammento il nome
gift-wrapping
e clicca su Crea frammento. Il file del frammento si aprirà nell'editor di codice. - In questo passaggio incollerai una parte di codice nel nuovo file del frammento
gift-wrapping
. Il codice da incollare dipende dalla modalità in cui desideri effettuare addebiti ai clienti per il servizio di confezionamento dei regali:
iPhone
- Nell'app di Shopify tocca il pulsante ….
- Nella sezione Canali di vendita, tocca Negozio online.
- Tocca Gestisci temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Frammenti, clicca su Aggiungi un nuovo frammento.
- Assegna al frammento il nome
gift-wrapping
e clicca su Crea frammento. Il file del frammento si aprirà nell'editor di codice. - In questo passaggio incollerai una parte di codice nel nuovo file del frammento
gift-wrapping
. Il codice da incollare dipende dalla modalità in cui desideri effettuare addebiti ai clienti per il servizio di confezionamento dei regali:
Android
- Nell'app di Shopify tocca il pulsante ….
- Nella sezione Canali di vendita, tocca Negozio online.
- Tocca Gestisci temi.
- Trova il tema che desideri modificare, clicca sul pulsante … per aprire il menu azioni, quindi clicca su Modifica codice.
- Nella directory Frammenti, clicca su Aggiungi un nuovo frammento.
- Assegna al frammento il nome
gift-wrapping
e clicca su Crea frammento. Il file del frammento si aprirà nell'editor di codice. - In questo passaggio incollerai una parte di codice nel nuovo file del frammento
gift-wrapping
. Il codice da incollare dipende dalla modalità in cui desideri effettuare addebiti ai clienti per il servizio di confezionamento dei regali:
Aggiunta di un addebito a tariffa forfettaria per il confezionamento dei regali
Incolla il codice seguente e clicca su Salva:
{% if linklists.gift-wrapping.links.size > 0 and
linklists.gift-wrapping.links.first.type == 'product_link' %}
<div
id="is-a-gift"
style="clear: left; margin: 30px 0"
class="clearfix rte"
>
<p>
<input
id="gift-wrapping"
type="checkbox"
name="attributes[gift-wrapping]"
value="yes"
{% if cart.attributes.gift-wrapping %}
checked="checked"
{% endif %}
style="float: none"
/>
<label
for="gift-wrapping"
style="display:inline; padding-left: 5px; float: none;"
>
For {{ linklists.gift-wrapping.links.first.object.price | money }}
please wrap the products in this order.
</label>
</p>
<p>
<label style="display:block" for="gift-note"
>Gift message (free and optional):</label
>
<textarea name="attributes[gift-note]" id="gift-note">
{{ cart.attributes.gift-note }}</textarea
>
</p>
</div>
{% assign id = linklists.gift-wrapping.links.first.object.variants.first.id
%} {% assign gift_wraps_in_cart = 0 %} {% for item in cart.items %} {% if
item.id == id %} {% assign gift_wraps_in_cart = item.quantity %} {% endif %}
{% endfor %}
<style>
#updates_{{ id }} { display: none; }
</style>
<script>
Shopify.Cart = Shopify.Cart || {};
Shopify.Cart.GiftWrap = {};
Shopify.Cart.GiftWrap.set = function() {
var headers = new Headers({ 'Content-Type': 'application/json' });
var request = {
method: 'POST',
headers: headers,
body: JSON.stringify({ updates: { {{ id }}: 1 }, attributes: { 'gift-wrapping': true } })
};
fetch('/cart/update.js', request)
.then(function() {
location.href = '/cart';
});
}
Shopify.Cart.GiftWrap.remove = function() {
var headers = new Headers({ 'Content-Type': 'application/json' });
var request = {
method: 'POST',
headers: headers,
body: JSON.stringify({ updates: { {{ id }}: 0 }, attributes: { 'gift-wrapping': '', 'gift-note': '' } })
};
fetch('/cart/update.js', request)
.then(function() {
location.href = '/cart';
});
}
// If we have nothing but gift-wrap items in the cart.
{% if cart.items.size == 1 and gift_wraps_in_cart > 0 %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.remove();
});
// If we have more than one gift-wrap item in the cart.
{% elsif gift_wraps_in_cart > 1 %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.set();
});
// If we have a gift-wrap item in the cart but our gift-wrapping cart attribute has not been set.
{% elsif gift_wraps_in_cart > 0 and cart.attributes.gift-wrapping == blank %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.set();
});
// If we have no gift-wrap item in the cart but our gift-wrapping cart attribute has been set.
{% elsif gift_wraps_in_cart == 0 and cart.attributes.gift-wrapping != blank %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.set();
});
{% endif %}
// When the gift-wrapping checkbox is checked or unchecked.
document.addEventListener("DOMContentLoaded", function(){
document.querySelector('[name="attributes[gift-wrapping]"]').addEventListener("change", function(event) {
if (event.target.checked) {
Shopify.Cart.GiftWrap.set();
} else {
Shopify.Cart.GiftWrap.remove();
}
});
document.querySelector('#gift-note').addEventListener("change", function(evt) {
var note = evt.target.value;
var headers = new Headers({ 'Content-Type': 'application/json' });
var request = {
method: 'POST',
headers: headers,
body: JSON.stringify({ attributes: { 'gift-note': note } })
};
fetch('/cart/update.js', request);
});
});
</script>
{% else %}
<p style="clear: left; margin: 30px 0" class="rte">
You attempted to add a gift-wrapping script to your shopping cart, but it
won't work because you don't have a link list with handle
<code>gift-wrapping</code> which, in turn, contains a link to your
gift-wrapping product. Please review the steps outlined
<a
href="https://help.shopify.com/manual/online-store/themes/os/customize/add-gift-wrap-option"
target="_blank"
rel="noopener noreferrer nofollow"
>here</a
>.
</p>
{% endif %}
Aggiunta di un addebito moltiplicato per il numero di prodotti nell'ordine
Con questa opzione, se l'ordine comprende tre prodotti, l'addebito per la confezione regalo verrà moltiplicato per tre. Incolla il codice seguente e clicca su Salva:
{% if linklists.gift-wrapping.links.size > 0 and
linklists.gift-wrapping.links.first.type == 'product_link' %}
<div
id="is-a-gift"
style="clear: left; margin: 30px 0"
class="clearfix rte"
>
<p>
<input
id="gift-wrapping"
type="checkbox"
name="attributes[gift-wrapping]"
value="yes"
{% if cart.attributes.gift-wrapping %}
checked="checked"
{% endif %}
style="float: none"
/>
<label
for="gift-wrapping"
style="display:inline; padding-left: 5px; float: none;"
>
For {{ linklists.gift-wrapping.links.first.object.price | money }} per
item, please wrap the products in this order.
</label>
</p>
<p>
<label style="display:block" for="gift-note"
>Gift message (free and optional):</label
>
<textarea name="attributes[gift-note]" id="gift-note">
{{ cart.attributes.gift-note }}</textarea
>
</p>
</div>
{% assign id = linklists.gift-wrapping.links.first.object.variants.first.id
%} {% assign gift_wraps_in_cart = 0 %} {% for item in cart.items %} {% if
item.id == id %} {% assign gift_wraps_in_cart = item.quantity %} {% endif %}
{% endfor %} {% assign items_in_cart = cart.item_count | minus:
gift_wraps_in_cart %}
<style>
#updates_{{ id }} { display: none; }
</style>
<script>
Shopify.Cart = Shopify.Cart || {};
Shopify.Cart.GiftWrap = {};
Shopify.Cart.GiftWrap.set = function() {
var headers = new Headers({ 'Content-Type': 'application/json' });
var request = {
method: 'POST',
headers: headers,
body: JSON.stringify({ updates: { {{ id }}: {{ items_in_cart }} }, attributes: { 'gift-wrapping': true } })
};
fetch('/cart/update.js', request)
.then(function() {
location.href = '/cart';
});
}
Shopify.Cart.GiftWrap.remove = function() {
var headers = new Headers({ 'Content-Type': 'application/json' });
var request = {
method: 'POST',
headers: headers,
body: JSON.stringify({ updates: { {{ id }}: 0 }, attributes: { 'gift-wrapping': '', 'gift-note': '' } })
};
fetch('/cart/update.js', request)
.then(function() {
location.href = '/cart';
});
}
// If we have nothing but gift-wrap items in the cart.
{% if cart.items.size == 1 and gift_wraps_in_cart > 0 %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.remove();
});
// If we don't have the right amount of gift-wrap items in the cart.
{% elsif gift_wraps_in_cart > 0 and gift_wraps_in_cart != items_in_cart %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.set();
});
// If we have a gift-wrap item in the cart but our gift-wrapping cart attribute has not been set.
{% elsif gift_wraps_in_cart > 0 and cart.attributes.gift-wrapping == blank %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.set();
});
// If we have no gift-wrap item in the cart but our gift-wrapping cart attribute has been set.
{% elsif gift_wraps_in_cart == 0 and cart.attributes.gift-wrapping != blank %}
document.addEventListener("DOMContentLoaded", function(){
Shopify.Cart.GiftWrap.set();
});
{% endif %}
// When the gift-wrapping checkbox is checked or unchecked.
document.addEventListener("DOMContentLoaded", function(){
document.querySelector('[name="attributes[gift-wrapping]"]').addEventListener("change", function(event) {
if (event.target.checked) {
Shopify.Cart.GiftWrap.set();
} else {
Shopify.Cart.GiftWrap.remove();
}
});
document.querySelector('#gift-note').addEventListener("change", function(evt) {
var note = evt.target.value;
var headers = new Headers({ 'Content-Type': 'application/json' });
var request = {
method: 'POST',
headers: headers,
body: JSON.stringify({ attributes: { 'gift-note': note } })
};
fetch('/cart/update.js', request);
});
});
</script>
{% else %}
<p style="clear: left; margin: 30px 0" class="rte">
You attempted to add a gift-wrapping script to your shopping cart, but it
won't work because you don't have a link list with handle
<code>gift-wrapping</code> which, in turn, contains a link to your
gift-wrapping product. Please review the steps outlined
<a
href="https://help.shopify.com/manual/online-store/themes/os/customize/add-gift-wrap-option"
target="_blank"
rel="noopener noreferrer nofollow"
>here</a
>.
</p>
{% endif %}
Inclusione del frammento nel modello del carrello
Per includere il frammento della confezione regalo nel modello del carrello:
Nella directory Sections (Sezioni), clicca su
cart-template.liquid
. Se il tema non contienecart-template.liquid
, clicca sucart.liquid
nella directory Modelli.Trova il tag di chiusura
</form>
nel codice. Su una nuova riga sopra il tag di chiusura</form>
incolla il codice seguente:
{% render 'gift-wrapping' %}
- Clicca su Salva.