Personalizzazione dei dati dei prodotti su Magento 2

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

Invio di attributi semplici dall’Admin di Magento 2

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

1. Iniziare andando su Negozi -> Prodotti

Qui potete vedere tutti gli attributi disponibili nel vostro negozio. Trovare i codici degli attributi di quelli che si desidera inviare a Clerk.io:

2. Assicurarsi che l’attributo sia visibile e utilizzato negli elenchi dei prodotti. È possibile verificarlo facendo clic sull’attributo e andando su Proprietà della vetrina:

3. Andare a Storeres->Configurazione->Clerk->Configurazione

4. Sotto Sincronizzazione -> Campi aggiuntivi, scrivere i codici degli attributi separati da virgole :

5. Fare clic su Salva configurazione nell’angolo destro.

Se non si trova l’estensione Clerk, assicurarsi di aver selezionato il negozio giusto facendo clic su “Scope” in alto a sinistra.

Screenshot 2021-09-16 at 12.46.04

6. Andare a Sistema -> Gestione della cache

7. Cancellare qui le varie cache:

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

Invio di attributi personalizzati

Gli attributi personalizzati possono essere aggiunti tramite l’estensione in FTP.

Questo file gestisce gli attributi del prodotto:

vendor->clerk->magento2->Model->Adapter->Product.php

Ogni attributo ha il suo fieldHandler, nella funzione addFieldHandlers().

È sufficiente aggiungere qui il proprio attributo, con la seguente sintassi:

$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function($item) {
   return MAGENTO2_LOGIC;
});

Dove CLERK_ATTRIBUTE_NAME definisce il nome che si vuole che abbia in Clerk.io, e MAGENTO2_LOGIC è il codice per estrarre l’attributo da Magento 2.

Importazione di dati di prodotto semplici per prodotti configurabili

Il codice seguente può essere usato per recuperare qualsiasi dato dai prodotti semplici all’interno di un prodotto configurabile, in modo che Clerk.io possa riceverlo come array di dati.

Questo è particolarmente utile per attributi come SKU, taglie o colori, per renderli ricercabili e filtrabili in Clerk.io.

Come lo script dell’attributo personalizzato di cui sopra, i dati dei prodotti configurabili possono essere aggiunti tramite l’estensione in FTP.

Questo file gestisce gli attributi dei prodotti:

vendor->clerk->magento2->Model->Adapter->Product.php

Aggiungere il seguente codice al file:

{%raw%}
$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function ($item) {
 $simple_products_array = [];
 if ($item->getTypeId() === Configurable::TYPE_CODE) {
  $simple_products = $item->getTypeInstance()->getUsedProducts($item);
   foreach ($simple_products as $product) {
    array_push($simple_products_array, $product->getATTRIBUTE_TEXT());
         }
       }
  return array_values(array_unique($simple_products_array));
            });
{%endraw%}

Dove CLERK_ATTRIBUTE_NAME definisce il nome che si vuole che abbia in Clerk.io e getATTRIBUTE_TEXT è la funzione get con il testo dell’attributo che si sta chiamando, ad esempio $product->getSKU().

Infine, includete i nuovi attributi nell’estensione Clerk.io nell’amministrazione di Magento 2, sotto Synchronization -> Additional Fields.(come spiegato al punto 4)

Dopo aver implementato gli attributi, andare su my.clerk.io->Data e cliccare su Start New Data Sync nell’angolo in alto a destra.