paolo@bimodesign.com | +34 608 61 64 10

E-Commerce

        

Prestashop - Gestire prodotto in ordinazione

In questo breve articolo vi illustro come gestire un acquisto di un prodotto, come ordinazione, ovvero indicando al cliente che le verra' spedito non immediatamente. Al momento non ho trovato altre soluzioni e questa che vi propongo comporta comunque, poche modifiche al codice.
L'obiettivo e' quello di indicare al cliente, sia al momento della visualizzazione che in quello dell'acquisto del prodotto, che sta acquistando qualcosa che ricevera' non immediatamente. Il messaggio, chiaramente modificabile, sara' del tipo di quello che potete vedere in queste due immagini (la prima, l'elenco dei prodotti), mentre la seconda il dettaglio dell'acquisto.

Configurazione Pannello

Per il prodotto in questione, occorre definire le seguenti caratteristiche, accedendo al menu' Catalogo ed editando la voce relativa al prodotto.
Quantity in stock: 0 (Nota: se in futuro un prodotto che avete in vetrina e' di tipo "vendita immediata", volete che passi ad essere "in ordinazione", dovrete fare in modo che la quantita' in stock sia 0. Per impostare cio', inserite nella sezione Stock Movement il numero esatto di prodotti che avete ancora disponibili in magazzino, indicando l'opzione Decrease your stock e quindi salvate i dati.Ad esempio: Prodotto "Pantaloni" e Stock: "550". Inserite "Stock Moviment": "550". "Quantity in Stock" diventera' 0 e l'opzione si attivera')
Displayed text when allowed to be back-orderer: La dicitura che pensate piu' opportuna. Nell'esempio delle immagini precedenti e' quella che appare in rosso e chiaramente e' un esempio.
When out of stock: Default: allow orders
Minimum quantity (opzionale): 1. Se volete obbligare il cliente a comprare una quantita' minima, per invogliare l'acquisto, cambiare questo valore. Available for order (In alto a destra): deve essere posto in stato checked.

Codice modificato

I codici da modificare sono due, escludendo i relativi CSS, la cui modifica lascio a vostro piacimento.
themes/Theme-Scelto/product.tpl: In questo file ho voluto eliminare la dicitura "available" e la possibilita' di iscriversi via mail in attesa che torni in stock il prodotto. Le modifiche sono molto semplici e si riducono a queste poche righe di codice

     <span id="availability_label">{l s=' '}</span>
     <span id="availability_value"{if $product->quantity <= 0} class="warning_inline"{/if}>
	{if $product->quantity <= 0}{if $allow_oosp}{$product->available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product->available_now}{/if}
     </span>
     </p>
     {if (($display_qties == 1 OR $product->quantity <= $last_qties) && !$PS_CATALOG_MODE && $product->available_for_order)}
     <p id="pQuantityAvailable"{if $product->quantity <= 0} style="display: none;"{/if}>
	<span id="quantityAvailable">{$product->quantity|intval}</span>
	<span {if $product->quantity > 1} style="display: none;"{/if} id="quantityAvailableTxt">{l s='item in stock'}
	<span {if $product->quantity == 1} style="display: none;"{/if} id="quantityAvailableTxtMultiple">{l s='items in stock'}</span>
     </p>
     {/if}
     Out of stock hook MODIFICA PAOLO eliminata parte dell'invio mail per quando torna disponibile

themes/Theme-Scelto/product.tpl: In questo file ho riportato la stessa condizione presente nel precedente, ma cambiato il tipo di puntamento alla caratteristica del prodotto, ovvero

 
	<p id="availability_statut"{if ($product.quantity <= 0 && !$product.available_later && $allow_oosp) OR ($product.quantity > 0 && !$product.available_now) OR ! $product.available_for_order OR $PS_CATALOG_MODE} style="display: none;"{/if}>
	<span id="availability_value"{if $product.quantity <= 0} class="warning_inline"{/if}>
	{if $product.quantity <= 0}{if $allow_oosp}{$product.available_later}{else}{l s='This product is no longer in stock'}{/if}{else}{$product.available_now}{/if}
	</span>