Jump to content

Modificare messaggio disponibilità prodotto


DARKF3D3

Recommended Posts

Attualmente se di un prodotto si mettono nel carrello tutte le quantità disponibili, come per esempio quando si aggiunge al carrello l'ultimo prodotto disponibile, poi viene mostrato il messaggio "prodotto non disponibile".

Ho notato però che questo talvolta crea confusione nei clienti, che vedendo il messaggio non disponibile, non capiscono se il prodotto sia completamente terminato o meno.

Vorrei quindi mostrare un messaggio differente, del tipo: "Hai ordinato il numero massimo di pezzi disponibili".
Cosa che sono già riuscito a fare sulla pagina del carrello usando questa condizione:

{if $product.stock_quantity < $product.quantity}MESSAGGIO{/if}

Purtroppo dalla pagina del prodotto quelle variabili non sono disponibili.

Avete idea di come poter ottenere lo stesso risultato?

 

Versione Prestashop 1.7.7

 

Edited by DARKF3D3 (see edit history)
Link to comment
Share on other sites

Hai provato a modificare il file: themes\classic\templates\catalog\_partials\product-add-to-cart.tpl ?

Se ricordo bene la condizione viene catturata alla riga 9

1    {block name='product_availability'}
2      <span id="product-availability">
3        {if $product.show_availability && $product.availability_message}
4          {if $product.availability == 'available'}
5            <i class="material-icons rtl-no-flip product-available">&#xE5CA;</i>
6          {elseif $product.availability == 'last_remaining_items'}
7            <i class="material-icons product-last-items">&#xE002;</i>
8          {else}
9            <i class="material-icons product-unavailable">&#xE14B;</i>
10          {/if}
11          {$product.availability_message}
12        {/if}
13      </span>
14    {/block}

 

Link to comment
Share on other sites

Si è il file che sto cercando di modificare.
Però non riesco ad ottenere quanto indicato con la variabile {$product.availability_message} perché se si mette nel carrello la quantità disponibile del prodotto, il messaggio contenuto della variabile diventa quello di prodotto "out of stock" e non c'è distinzione tra prodotto terminato e prodotto terminato, ma perché si ha l'ultima quantità disponibile nel carrello.

Come ho scritto sopra nel carrello l'ho fatto usando le 2 variabili "$product.stock_quantity" e "$product.quantity" che però non sono disponibili nella scheda prodotto.

 

Link to comment
Share on other sites

Si quei messaggi sono corretti e vanno già bene, il problema c'è quando aggiungi quelle 2 quantità al carrello.

In quel momento viene visualizzato il messaggio di prodotto terminato.

Quello che sto cercando di fare è modificare il testo in quella condizione, e mostrare un messaggio di questo tipo "Hai già nel carrello la quantità massima disponibile".

Link to comment
Share on other sites

Niente da fare, ho fatto varie prove però con quelle 2 variabili non si riesce.

"$product.quantity" mostra la quantità disponibile del prodotto, a cui però è già stato sottratto il quantitativo presente nel carrello (per esempio 1 quantità disponibile e 1 prodotto nel carrello, $product.quantity sarà a "0")
Mentre "$product.quantity_wanted" sembrerebbe che sia la quantità che si vuole aggiungere al carrello, quindi di base il valore è sempre 1.

Servirebbe una variabile che contenga la quantità presente nel carrello, senza di quella altrimenti non è possibile fare un confronto con lo stock disponibile a magazzino.

 

Link to comment
Share on other sites

Ho fatto una prova su una installazione standard di Prestashop e sembra funzionare:

    {block name='product_availability'}
      <span id="product-availability"> 

        {*test*}
        {$product.quantity_wanted} <=> {$product.quantity}

        {if $product.quantity_wanted == $product.quantity}
              <p>UGUALE</p>
        {/if}
        {*test*}
        
        {if $product.show_availability && $product.availability_message}
          {if $product.availability == 'available'}
            <i class="material-icons rtl-no-flip product-available">&#xE5CA;</i>
          {elseif $product.availability == 'last_remaining_items'}
            <i class="material-icons product-last-items">&#xE002;</i>
          {else}
            <i class="material-icons product-unavailable">&#xE14B;</i>
          {/if}



          {$product.availability_message}
        {/if}
      </span>
    {/block}

 

image.thumb.png.8e9375e7097db2cd187a4b02d6a8c05d.png

Link to comment
Share on other sites

Ok, ora forse ho capito perché ottenevamo risultati differenti.
Probabilmente non mi sono spiegato molto bene... L'esempio degli screenshot che hai postato mi è chiaro e fin qui ci sono.
Però il mio problema è in una situazione leggermente differente.

Tenendo come riferimento il tuo esempio degli screenshot dove la disponibilità è di 300 pezzi.
Se il cliente mette tutti e 300 pezzi nel carrello, poi naviga sul sito e più tardi torna sulla scheda prodotto vedrà il messaggio di "prodotto esaurito", in realtà il prodotto non è esaurito, semplicemente non ci sono più pezzi oltre ai 300 che ha già nel carrello.
Questo messaggio di disponibilità crea confusione ad alcuni clienti che chiamano chiedendo chiarimenti riguardo la disponibilità.

In questa casistica la condizione con le due variabili proposte non funziona, perché la variabile "$product.quantity_wanted" indica il numero di pezzi che si vogliono aggiungere e non quelli già presenti nel carrello.

PS: Grazie per il tempo che ci stai dedicando.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...