Quantità minima di acquisto su prodotto E-Commerce
Autore: Francesco F.
Visite 2445,
Followers 5,
Condiviso 0
Buonasera
Vorrei sapere se fosse possibile impostare una quantità minima di prodotto ordinabile sul sito e-commerce fatto con incomedia.
Mi spiego con un esempio:
Vendo il prodotto A a 1,40€.
Però posso venderlo solo per quantità superiori a 5: non da 1 a 4, ma da 5 in su (quindi 5,6,7,8,... prodotti A).
è possibile impostare questo su Incomedia?
Postato il
... prova con queste opzioni: > ▪Consenti Ordine solo per importi minimi
----------------------------------
(... purtroppo attualmente non ho il programma, ma in teoria un controllo EXTRA per Esperti al momento della digitazione della quantità si potrebbe ottenere in JS se:
1) – la pagina con i campi di input fosse presente al Passo_3 e/o tra le "pagine speciali";
2) – il campo di input avesse un nome/ID;)
.
Autore
Grazie per la risposta
Purtroppo consentire un ordine per importi minimi non risolve il problema, poiché si potrebbe raggiungere comunque l'importo minimo totale dell'ordine ordinando 1 singolo elemento di molteplici prodotti, invece avrei bisogno di impostare un limite minimo di quantità sull'acquisto di ogni singolo prodotto (da 5 in su).
Il programma è incomedia website X5 Professional. Non vedo possibile questa opzione quando si inserisce la categoria "catalogo prodotti" in una pagina. Non c'è nessun modo di poterlo fare all'interno appunto dell'oggetto "catalogo prodotti/impostazioni"?
Non ho capito bene questo passaggio:
(... purtroppo attualmente non ho il programma, ma in teoria un controllo EXTRA per Esperti al momento della digitazione della quantità si potrebbe ottenere in JS se:
1) – la pagina con i campi di input fosse presente al Passo_3 e/o tra le "pagine speciali";
2) – il campo di input avesse un nome/ID;)
... non ho né PC e né programma, ...ma prova lo stesso a postare il LINK di questa pagina, o un esempio online, di dove inserisci le quantità...
.
ciao
Autore
Ok, ecco il link del sito con base Macromedia Website X5
https://www.vivaiomediterraneo.it/online/vasi-piccoli-arbusti-alberi.html
Il sito Web x5 ha un'opzione di ordine di quantità minima, prova a testare questa opzione per questo particolare articolo ma ho notato che non è in base alla quantità di articoli, ma al prezzo. Questo è sbagliato non dovrebbe essere per l'importo del prezzo da solo
--------------------------------------------------------------------------------------------------------------------------
Website x5 cuenta con una opción de pedido de cantidad minima, trate de provar esta opción para este tema en particular pero me ha dado cuenta que no es por cantidad de articulos si no de precio. Esto esta mal no deberia ser por precio solo cantidad
(...Macromedia!......)
... ti anticipo, che se fai una ricerca, e se non ricordo male, dovresti trovare qualche proposta già postata da lemonsong, magari più valida e/o adatta al tuo scopo...
... invece, sulla base della la mia idea esclusiva, guardando la tu pagina, mi sono inventato questo codice unico!...
... non avendo io il programma, ...sta a te provare a vedere se funziona; ...il minimo totale come puoi vedere è impostato sul "5", che ovviamente potrai personalizzare, ...come anche il tempo di reazione che è impostato ad un sec. (1000)(ms)...
... incolla il codice nella sezione esperto al:
>>Passo 3 - Mappa > Finestra Proprietà Pagina > Le opzioni della Sezione Esperto | ▪Codice personalizzato: >▼Prima della chiusura del tag BODY
... codice da incollare:
<script> var elements = document.querySelectorAll("[id^='product_']");
minimK = 5; // valore minimo
for(var e in elements){ elements[e].value= '0'; // azzero valori K = "0";
function inputK (idK) { erroreK = "(!) - K - valore errato a minore di " + minimK + " (!)" ; // messaggio
setTimeout(function(){if(isNaN(valK) || valK<minimK){alert(valK + erroreK );document.getElementById(idK).value =0;}}, 1000);}
elements[e].oninput = function () { idK= this.id;valK=this.value;inputK(idK);}} </script>
.
Autore
Oddio sì Incomedia!!
Grazie mille!! Funziona, problema risolto!
......!... ... grazie per la conferma............
Autore
Uff, rimane una questione aperta (come accade spesso in questi casi)
Anche se ne metto 4 nel carrello, poi la quantità è modificabile dal carrello stesso e può essere portata anche a 1. Per risolvere il problema serivrebbe un piccolo algoritmo con una lista di controllo dove ci sono i nomi prodotti e le relative quantità minime ordinabili, in modo da effettuare un controllo anche sul carrello.
... se la pagina della pagina del carrello fosse presente l'Alias tra le pagine speciali, in basso al Passo_3, allora forse!! potrebbe essere possibile usare anche lì lo stesso codice, sempre se gli ID in gioco fossero uguali o simili o da rivedere...
... ... senza programma non posso entrare nel merito, ma facendo una rapida ricerca ho trovato questo Topic, preannunciato prima (autori lemonsong-stesil), che potrebbe forse fare al caso tuo: https://helpcenter.websitex5.com/it/post/99593
.
... eventualmente, per poter avere supporto anche da ALTRI, togli il CORRETTO che mi avevi assegnato... ciao...
.
Autore
Ok sì, confermo che il carrello è fra le "pagine speciali".
Questo script, tratto dalla pagina che mi avevi consigliato, funziona egregiamente, anche se il tuo codice è sicuramente meglio perché blocca subito chi cerca di "fare il furbo" e mettere meno quantità. (il codice di lemonsong blocca quando si preme su "avanti" per procedere all'acquisto con le quantità inadatte)
Per far comunque funzionare questo codice sul sito, dovrei mettere un if, per fargli bloccare solo determinati prodotti in base al prezzo (se il prezzo è minore di X, allora la quantità minima è ...) .
Qualcuno sa come posso identificare la variabile "prezzo" di ciascun prodotto nel carrello?
Script di Lemonsong:
<script>
$('#imCartContainer').on('click', 'div #btngonext', function() {
var qt = 0;
$('#imCartContainer table input[data-hash]').each(function() {
qt = parseInt($(this).val());
return (qt);
});
if (qt < 5) {top.location.hash = "#step1";
alert("Devi acquistare un minimo di 5 prodotti!");
}
});
</script>
... allora potresti provare un mio pseudo! escamotage, diciamo maccheronico, ...se va va!! (x sez. /HEAD):
<style> td:nth-child(3):before { content:"_____"; font-size:30px;
position:relative;left:50px;top:5px;opacity:0;z-index:300000;} </style>
... ... dovrei mettere un if, per fargli bloccare solo determinati prodotti in base al prezzo... ...
... ... ... ...
... col mio metodo si potrebbe ottenere un certo condizionamento, ma diventerebbe lungo il procedimento, mirato ID x ID, e nel caso ti interessasse ancora poi vedremo come fare, sempre relativamente al mio codice...
.
Autore
Ok, ora è bloccato l'inserimento manuale della quantità, l'espediente funziona. I clienti perderebbero però la possibilità di modificare la quantità dal carrello, che di solito usano per ridefinire l'ordine in fase finale.
Sì, se ci fosse un modo di identificare l'ID sarebbe il massimo.
... OK, ... il codice condiziona solo le prime due celle di input del precedente LINK:
(product_17xk5dupj_qty | product_15kif0edp_qty)
<script> minimK = 5;
var elements = document.querySelectorAll("[id^='product_']");for(var e in elements){ elements[e].value= '0';}
function inputK (idK) { erroreK = " (!) - valore errato o minore di 5 (!)" ;
setTimeout(function(){ if(isNaN(valK) || valK<minimK ){alert(valK + erroreK );document.getElementById(idK).value =0;} }, 1000);}
product_17xk5dupj_qty.oninput = function () { idK= this.id;valK=this.value;inputK(idK);}
product_15kif0edp_qty.oninput = function () { idK= this.id;valK=this.value;inputK(idK);}
//*********** qui a seguire inserire tutti gli altri ID dei campi INPUT da condizionare ***
</script>
.
Autore
Ok, il codice per i singoli ID funziona benissmo, è perfetto e molto utile per le pagine del sito.
Mi scuso se mi sono spiegato male, putroppo questo tipo di codice non funziona nella pagina speciale "carrello e-commerce", per la quale funziona bene solo lo script di lemonsong, che non ha però possibilità di discernere i prodotti che costano meno di un tot (1,40€) per i quali c'è la limitazione di un minimo di 4 ordinabili e tutti gli altri prodotti, o in alternativa per i singoli ID di prodotto.
... forse dovresti usare carrelli separati ed omogenei nelle opzioni...
... intanto da provare in alternativa a precedente escamotage per il carrello, ed alla cieca, mi sono inventato > questo altro codice, ma influisce a livello globale, per cui tutti i valori del carrello dovrebbero avere la stessa limitazione...
.
Autore
Ho cercato ma purtroppo questa opzione non è proprio presente nel software (vedi foto allegata).
In ogni caso confermo che questo tipo di codice:
<script>
minimK = 5; // valore minimo
var elements = document.querySelectorAll("input");
for(var e in elements){ function inputK (idK) { erroreK1 = "... è stato digitato il valore "; erroreK2 = " (!) ... \n ... il valore non può essere inferiore a " + minimK + " (!)" ;
setTimeout(function(){ if(isNaN(valK) || valK<minimK){alert(erroreK1 + valK + erroreK2 ); }}, 1000);} elements[e].oninput = function () { idK= this.id;valK=this.value;inputK(idK); if(this.value < 5){ this.value=5;} } }
</script>
è davvero molto utile per le pagine normali ma NON funziona per la pagina speciale del carrello, per la quale funziona ad ora solo lo script di lemonsong:
<script>
$('#imCartContainer').on('click', 'div #btngonext', function() {
var qt = 0;
$('#imCartContainer table input[data-hash]').each(function() {
qt = parseInt($(this).val());
return (qt);
});
if (qt < 5) {top.location.hash = "#step1";
alert("Devi acquistare un minimo di 5 prodotti!");
}
});
</script>
che però per come è scritto ora non ha la capacità di discernere i prodotti che vanno limitati da quelli che non vanno limitati, i quali si possono distinguere in base al prezzo o semplicemente dall'ID.
... infatti era progettato per la pagina dei prodotti, quella che hai linkato...
...ma, solo per averne una conferma o meno, il mio ultimo codice fatto proprio per il carrello, non ti funziona...?...
... il codice è quello del mio ultimo e precedente esempio ed è SOLO quello compreso tra le righe 28-40 ... (Ctrl+U) ...da incollare "Prima della chiusura del TAG /BODY"...
... grazie se proverai e me lo farai sapere...
.
Autore
...ma, solo per averne una conferma o meno, il mio ultimo codice fatto proprio per il carrello, non ti funziona...?...
... il codice è quello del mio ultimo e precedente esempio ed è SOLO quello compreso tra le righe 28-40 ... (Ctrl+U) ...da incollare "Prima della chiusura del TAG /BODY"...
[/quote]
Purtroppo no, è proprio quello che ho incollato nel precedente commento, dalle righe 28-40. Non vuole saperne di girare. Se vuoi vedi direttamente il codice del carrello (lo script è stato aggiunto):
https://www.vivaiomediterraneo.it/online/cart/index.html
PS.
non è che ci sarebbe un modo semplice, per quanto riguarda il codice per le pagine, di bloccare i numeri troppo bassi invece che con il timer con l'evento "click" su aggiungi? sennò potrebbe bloccare l'inserimento anche di altri numeri successivi, per esempio se volessi inserire "28", quando si digita solo il "2", se non digiti abbastanza velocemente l'8 lo blocca e lo riporta a 5.
... grazie per il test; ...mi dispiace,; ...purtroppo vedo che non funziona come nel mio esempio......
... se vuoi, prova > questa variante ... righe 36-50 ...
... al PS. ...per l'attesa input, questa è impostata ad un secondo (1000) (ms), volendo puoi aumentare a due secondi (2000) (ms), o un valore a tua preferenza...
.
Autore
Nada, pare che non lo riconosca. Ma non c'è proprio modo di cambiare lo script di Lemonsong per aggiungere un controllo sul prezzo o ancora meglio sugli ID? Oppure di contattarlo direttamente per chiedergli di modificare il suo stesso script?
... al PS. ...per l'attesa input, questa è impostata ad un secondo (1000) (ms), volendo puoi aumentare a due secondi (2000) (ms), o un valore a tua preferenza...
Purtroppo per il valore di 2 secondi o più l'utente avrebbe tutto il tempo di cliccare su "aggiungi" al carrello
... da parte mia più di quanto fatto senza strumenti non posso immaginare altro...