Personalizzazione dei dati del prodotto #
In Prestashop è possibile aggiungere la maggior parte degli attributi semplici direttamente dall’Admin, ma è anche possibile creare attributi personalizzati direttamente nel codice.
Invio di attributi semplici dall’Admin di Prestashop #
Nota: questa funzione funziona solo a partire dalla versione 5.3.2._ Consultare questa guida per vedere come aggiornare.
Nell’Admin di Prestashop, iniziare andando alla sezione seguente:
Prestashop 1.7: Catalogo -> Attributi e caratteristiche Prestashop 1.6 : Catalogo -> Attributi dei prodotti
Qui è possibile vedere tutti gli attributi disponibili:
Individuare i nomi degli attributi che si desidera aggiungere.
Andare quindi a Moduli e servizi -> Impiegato -> Configura.
In Impostazioni di sincronizzazione dei dati , digitare gli attributi Nomi separati da virgola in Campi aggiuntivi per i prodotti. È anche possibile attivare campi come Include Product Features per importare tutte le caratteristiche dei prodotti in Clerk. Entrambi i campi sono disponibili sia nella versione 1.6 che nella versione 1.7 di Prestashop:
Dopo aver implementato gli attributi, andare su my.clerk.io->Data e fare clic su Start New Data Sync nell’angolo in alto a destra.
Se gli attributi che si desidera inviare sono già disponibili come parte dei dati dei prodotti configurabili/raggruppati nell’amministrazione di PrestaShop, possono essere facilmente sincronizzati sull’ultima versione del plug-in. Appariranno come child_attribute, ad esempio child_color, child\skus ecc.
Invio di attributi personalizzati #
Gli attributi personalizzati, che sono più avanzati, possono essere aggiunti attraverso i file del modulo in FTP.
Questo file gestisce gli attributi dei prodotti:
moduli->clerk->controllori->fronte->prodotto.php
Ogni attributo ha il suo fieldHandler, che viene usato per estrarlo, nella funzione _construct.
È sufficiente aggiungere qui il proprio attributo, con la seguente sintassi:
$this->addFieldHandler('CLERK_ATTRIBUTE_NAME',function($product){
return PRESTASHOP_LOGIC;
});
Dove CLERK_ATTRIBUTE_NAME definisce il nome che si vuole che abbia in Clerk.io e PRESTASHOP_LOGIC è il codice per estrarre l’attributo da Prestashop.
Infine, includere i nuovi attributi nella funzione getDefaultFields() in fondo al file.
Scegliere quali prodotti importare #
È possibile configurare il modulo PrestaShop in modo che invii tutti i prodotti a Clerk.io, anziché solo quelli vendibili come fa di default.
Per fare ciò, iniziare a trovare questo file in FTP:
moduli->clerk->controllori->fronte->prodotto.php
Nella funzione getJsonResponse() individuare questa riga:
$products = $product->getProducts($this->getLanguageId(), $this->offset, $this->limit, $this->order_by, $this->order, false, false);
Basta cambiare l’ultimo parametro da true a false.
Se si esegue questa operazione, si consiglia di aggiungere anche un attributo extra a questo file, che indica quando un prodotto non è vendibile, in modo da poterlo mostrare nel proprio Design.
Supponendo di creare un attributo chiamato è vendibile, che può essere vero o falso, si può usare in questo modo in Designs:
{% raw %}
{% if product.is_saleable %}
<div class="in-stock">In Stock</div>
{% else %}
<div class="not-in-stock">Not In Stock</div>
{% endif %}
{% endraw %}
Infine, andare su my.clerk.io -> Dati e fare clic su Avvia nuova sincronizzazione per importare i nuovi dati.
Disattivare la sincronizzazione degli ordini #
Dopo che la prima sincronizzazione dei dati è stata eseguita con successo, è possibile disattivare la sincronizzazione degli ordini da Prestashop, in quanto il monitoraggio delle vendite viene effettuato dal modulo.
Per disattivare la sincronizzazione degli ordini, andare su Migliora => Moduli => Gestione moduli
Scorrere fino in fondo e trovare il modulo Clerk tra gli altri. Fare clic su Configura:
Scorrere fino al campo denominato Impostazioni per la sincronizzazione dei dati e fare clic su SÌ accanto al testo Disattiva la sincronizzazione degli ordini:
Scorrere fino alla fine della pagina e premere Salva:
Le modifiche apportate diventeranno effettive.