Magento 1

Sync Data

Aggiunta di attributi di prodotto aggiuntivi a Clerk.io tramite l'estensione Magento.

Disattivare la sincronizzazione degli ordini #

Dopo che la prima sincronizzazione dei dati è stata eseguita con successo, è possibile disattivare la sincronizzazione degli ordini da Magento1, in quanto il monitoraggio delle vendite viene effettuato dall’estensione.

Per disattivare la sincronizzazione degli ordini, accedere al backend di Magento1, scegliere SYSTEM nella barra dei menu e premere CONFIGURATION:

Scegliere il sito principale (il sito su cui si sta cercando di intervenire) in CONFIGURAZIONE ATTUALE:

Fare quindi clic su IMPOSTAZIONI nella scheda CLERK della barra laterale sinistra e modificare il campo accanto a DISATTIVA SINCRONIZZAZIONE ORDINI da NO a SÌ. Premere SALVA CONFIGURAZIONE per rendere immediatamente effettive le modifiche:

Modifica delle dimensioni delle immagini dei prodotti #

Come standard, l’estensione Clerk.io per Magento recupera immagini con una dimensione di 210x210 px.

Questo può essere modificato nel seguente file:

app->codice->comunità->Clerk->Catalogo->Prodotto.php

Nella parte superiore di questo file, le variabili $imageHeight e $imageWidth controllano l’altezza e la larghezza di ogni immagine:

Modificare questi valori in base alle dimensioni desiderate per le immagini e salvare il file.

Andare quindi a my.clerk.io -> Data Sync ed eseguire una nuova sincronizzazione, facendo clic su Start Sync.

Le nuove immagini saranno ora sincronizzate.

Scegliere i prodotti da importare #

Mostrare i prodotti esauriti #

Se si desidera mostrare anche i prodotti esauriti nei risultati di Clerk.io, è possibile controllarlo facilmente nel backend di Magento.

Iniziate andando su:

Sistema -> Configurazione -> CLERK -> Impostazioni

Scegliere la vista del negozio dal menu di sinistra e andare su Impostazioni del commesso.

Qui, impostare Includere i prodotti esauriti su e fare clic su Salva configurazione.

Infine, andare su my.clerk.io -> Data e fare clic su Start New Data Sync per importare tutti i prodotti, compresi quelli esauriti.

Modifiche avanzate #

In Magento, il seguente file controlla quali prodotti vengono importati in Clerk.io:

app->codice->comunità->Clerk->Clerk->Modello->PaginaProdotto.php

La funzione load($page,$limit) è responsabile del controllo della raccolta di prodotti che vengono inviati a Clerk.io. Per impostazione predefinita, vengono importati solo i prodotti con visibilità: entrambi(Catalogo, Ricerca) che sono anche in magazzino.

Questa impostazione può essere modificata nei due punti seguenti:

Se si modificano i prodotti importati da Clerk.io, si consiglia vivamente di aggiungere anche un attributo extra che indichi quando un prodotto non è vendibile o visibile, in modo da poterlo mostrare nel proprio Design e poterlo filtrare.

Supponendo di creare un attributo chiamato is_saleable, che può essere true o false, si può usare in questo modo in Designs:

{% if product.is_saleable %}
   <div class="in-stock">In Stock</div>
{% else %}
  <div class="not-in-stock">Not In Stock</div>
{% endif %}

Infine, andare su my.clerk.io -&gt; Dati e fare clic su Avvia nuova sincronizzazione dati per importare i nuovi dati.

Personalizzazione dei dati dei prodotti #

In Magento 1, è possibile aggiungere attributi di prodotto personalizzati attraverso il backend di Magento o, se necessario, attraverso l’estensione Clerk.io nel codice.

Aggiunta di attributi semplici #

Nota: Questa funzione funziona solo a partire dalla v.4.2.3._

Se gli attributi che si desidera inviare sono già disponibili come attributi semplici nell’amministrazione di Magento, possono essere facilmente aggiunti nella pagina delle estensioni.

1. Nel backend di Magento, iniziare andando su Catalogo -> Attributi -> Gestisci attributi

2. Trovare i codici degli attributi che si desidera aggiungere:

3. Andare a Sistema -> Configurazione_

4. Sotto Clerk -> Settings scrivere i propri attributi in Additional Fields e fare clic su Save Config:

5. 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 Magento, possono essere facilmente sincronizzati con l’ultima versione del plug-in. Appariranno come child_attribute, ad esempio child_color, child\skus ecc.

Aggiunta di attributi tramite codice #

Se l’attributo utilizza una funzione standard di Magento, questo può essere implementato direttamente in Product.php:

app->codice->comunità->Clerk->Codice->Modello->Catalogo->Prodotto.php

La funzione getClerkExportData() crea l’oggetto prodotto, con tutti gli attributi:

È possibile aggiungere nuovi attributi all’elenco con questa sintassi:

$data->setAttributeName($this->insertMagentoLogic());

dove setAttributeName definisce il nome che si vuole che abbia in Clerk.io e insertMagentoLogic(); utilizza una logica di Magento per estrarre un valore dal prodotto.

Utilizzo di funzioni personalizzate per gli attributi #

A volte, un attributo di Magento può richiedere una logica più avanzata di una semplice funzione. In questo caso, individuare questo file:

app->codice->comunità->Clerk->Clerk->Modello->Catalogo->Productbase.php

In Productbase.php si possono scrivere funzioni PHP avanzate per caricare gli attributi personalizzati.

Dopo aver definito una funzione, è possibile includerla in Product.php proprio come le funzioni esistenti.

Per esempio:

$data->setAge($this->getAge());

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.

Modifica dell’estensione #

Aggiunta/modifica dei dati del prodotto #

Nel caso in cui si vogliano aggiungere attributi extra o modificare quelli esistenti per i propri prodotti, è necessario trovare questi file:

app->codice->comunità->Clerk->Clerk->Modello->Catalogo->Prodotto.php

app->codice->comunità->Clerk->Clerk->Modello->Catalogo->PaginaProdotto.php

Product.php costruisce il modello del prodotto e consente di aggiungere semplici attributi.

Productpage.php consente di creare logiche avanzate per ottenere gli attributi e di usarle in Product.php.

Modifica dei dati della categoria #

Forse è necessario ristrutturare i nomi delle categorie, o rimuovere categorie specifiche da Clerk.io.

In questi casi, trovare questo file:

app->codice->comunità->Clerk->Clerk->Modello->Catalogo->Prodotto.php

Questo file gestisce le categorie incluse e i dati id, nome, URL e sottocategorie per ogni categoria.

Non è possibile aggiungere dati extra a ciascuna categoria, ma è possibile modificare ciò che viene inviato.

Stilizzazione del passo Add-To-Basket (Powerstep) #

Il powerstep ha uno stile standard, ma è possibile modificarlo per adattarlo ai propri progetti.

Per lo stile si utilizzano questi file:

app->design->frontend->base->default->template->clerk->powerpage.phtml

app->design->frontend->base->default->template->clerk->powerpopup.phtml

skin->frontend->base->default->clerk->style.css

powerpage.phtml contiene l’HTML per la pagina, mentre powerpopup.phtml è per il popup.

style.css contiene il CSS per tutte le parti dell’estensione Clerk.io, compreso il Powerstep.

È possibile utilizzare questi file per modificare l’aspetto del Powerstep.

Modifica della pagina di ricerca #

Se si desidera modificare il layout della pagina di ricerca, aggiungere un dispositivo di scorrimento alla pagina senza risultati, ecc:

app->design->frontend->base->default->template->clerk->powerpage.phtml

Questo consente di modificare il codice di ricerca e altre parti della pagina di ricerca.

I titoli dei prodotti e delle categorie visualizzati nel Live-Search possono essere modificati in questo file:

app->design->frontend->base->default->template->clerk->livesearch.phtml

Qui è sufficiente tradurre Categorie e Prodotti in ciò che si desidera:

Prodotti raggruppati come varianti #

Come standard, Magento utilizza Prodotti configurabili per gestire i prodotti principali e le varianti. L’estensione Clerk.io è stata realizzata per supportare questo aspetto, in quanto è la prassi migliore per Magento.

Tuttavia, se avete impostato le vostre varianti usando i prodotti raggruppati, il vostro monitoraggio delle vendite non funzionerà, in quanto starete monitorando gli ID dei prodotti che Clerk.io non ha importato dal vostro negozio web Magento. Questo perché le varianti di solito sono non visibili.

Clerk.io non sarà in grado di vedere le connessioni tra i prodotti, quando questi non sono importati:

Per Clerk.io, di solito non importa quale variante viene acquistata, purché il “prodotto principale” a cui appartiene sia tracciato.

Per risolvere questo problema, è necessario modificare 2 file nell’estensione, **per adattarli alla propria configurazione.

Il tracciamento delle vendite #

Il file che genera i dati di tracciamento delle vendite è questo:

app->codice->Block->SalesTracking.php

In questo file, di solito intorno alla linea 65, viene utilizzato il seguente pezzo di codice per ottenere l’ID del prodotto che è stato acquistato:

Questo deve essere modificato, in modo che, indipendentemente dalla variante di prodotto raggruppata acquistata, venga inviato sempre l’ID del prodotto “principale”.

Gli ordini importati #

Lo stesso processo deve essere fatto per gli ordini precedenti che vengono importati, in modo da sapere quali prodotti principali sono stati acquistati in precedenza.

Questo file lo gestisce:

app->code->Model->Orderpage.php

Intorno alla linea 44, nella funzione orderFormatter($order) l’ID del prodotto viene inviato da Magento:

Modificarlo con la stessa logica del sales-tracking.

Verificare se le modifiche funzionano #

Ora, andare su my.clerk.io -&gt; Dati e fare clic su Avvia nuova sincronizzazione dati per importare i dati più recenti:

Procedere all’inserimento di un ordine di vendita in cui si acquista un prodotto con varianti.

Successivamente, andare su Ordini tracciati e controllare l’ordine appena effettuato. Se è possibile vedere i prodotti principali dell’ordine, compresi il nome e l’immagine, il codice funziona: