Prestashop

Sync Data

Personalizzazione dei dati prodotto #

In Prestashop, puoi aggiungere la maggior parte degli attributi semplici direttamente dall’Amministrazione, ma puoi anche creare attributi personalizzati direttamente nel codice.

Invio degli attributi semplici dall’Amministrazione di Prestashop #

Nota: Questa funzione è disponibile solo dalla versione 5.3.2. Consulta questa guida per vedere come aggiornare.

Nell’Amministrazione di Prestashop, inizia accedendo alla seguente sezione:

Prestashop 1.7: Catalogo -> Attributi & Caratteristiche Prestashop 1.6 : Catalogo -> Attributi prodotto

Qui puoi vedere tutti gli attributi disponibili:

Trova i nomi degli attributi che desideri aggiungere.

Quindi vai su Moduli e Servizi -> Clerk -> Configura.

Nella sezione Impostazioni Sincronizzazione Dati, inserisci i Nomi degli attributi, separati da virgola nel campo Campi aggiuntivi per i prodotti. Puoi anche attivare opzioni come Includi Caratteristiche Prodotto per importare tutte le caratteristiche dei prodotti in Clerk. Entrambe le funzionalità sono disponibili sia nella versione 1.6 che 1.7 di Prestashop:

Dopo aver aggiunto i tuoi attributi, vai su my.clerk.io->Data e clicca su Start New Data Sync nell’angolo in alto a destra.

Se gli attributi che vuoi inviare sono già disponibili come parte dei dati dei tuoi prodotti configurabili/raggruppati nell’amministrazione di PrestaShop, possono essere facilmente sincronizzati con l’ultima versione del tuo plug-in. Appariranno come child_attribute, ad esempio, child_color, child_skus ecc.

Invio di attributi personalizzati #

Gli attributi personalizzati, più avanzati, possono essere aggiunti tramite i file del modulo su FTP.

Questo file gestisce gli attributi prodotto:

modules->clerk->controllers->front->product.php

Ogni attributo ha il proprio fieldHandler, che viene utilizzato per recuperarli, nella funzione __construct

Aggiungi semplicemente il tuo attributo qui, con la seguente sintassi:

$this->addFieldHandler('CLERK_ATTRIBUTE_NAME',function($product){
return PRESTASHOP_LOGIC;
});

Dove CLERK_ATTRIBUTE_NAME definisce il nome che vuoi dargli in Clerk.io e PRESTASHOP_LOGIC è il codice per recuperare l’attributo da Prestashop.

Infine, includi i nuovi attributi nella funzione getDefaultFields() in fondo al file.

Scelta dei prodotti da importare #

Puoi configurare il modulo PrestaShop per inviare tutti i prodotti a Clerk.io, invece che solo quelli vendibili come avviene di default.

Per farlo, inizia trovando questo file in FTP:

modules->clerk->controllers->front->product.php

Nella funzione getJsonResponse() individua questa linea:

$products = $product->getProducts($this->getLanguageId(), $this->offset, $this->limit, $this->order_by, $this->order, false, false);

Semplicemente cambia l’ultimo argomento da true a false.

Se fai questo, ti consigliamo anche di aggiungere un ulteriore attributo a questo file, che indichi quando un prodotto non è vendibile, in modo da poterlo mostrare nel tuo Design.

Supponendo che tu crei un attributo chiamato is_saleable che può essere true o false, puoi usarlo così nei 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, vai su my.clerk.io -> Data e clicca su Start New Sync per importare i tuoi nuovi dati.

Disattivare la sincronizzazione degli ordini #

Dopo che la prima sincronizzazione dati è stata eseguita con successo, la sincronizzazione degli ordini da Prestashop può essere disattivata poiché il tracking delle vendite tramite il modulo prenderà il sopravvento.

Per disattivare la sincronizzazione degli ordini, vai su Migliora => Moduli => Gestione Moduli

Scorri verso il basso e trova il modulo Clerk sotto “altro”. Clicca su Configura:

Scorri fino al campo chiamato Settings For Data Synchronization e clicca su SÌ accanto al testo Disattiva Sincronizzazione degli Ordini:

Scorri fino in fondo alla pagina e premi Salva:

Le modifiche avranno effetto.

Questa pagina è stata tradotta da un'utile intelligenza artificiale, quindi potrebbero esserci errori linguistici. Grazie per la comprensione.