In Magento vi è una funzionalità poco usata ma molto utile che permette di esportare i dati presenti dentro magento ed in particolare i prodotti. Per esportare tali prodotti vi sono dei filtri standard che molte volte non sono sufficienti per recuperare il gruppo di prodotti che si desidera.

Creazione dell'Attributo Personalizzato

Per contrassegnare i prodotti che desideriamo esportare creiamo un attributo in Magento. Amministrazione > Catalogo > Attributi > Gestisci Attributi. Creare un attributo con il codice "toexport" di tipo Si/No come da figura:

Impostare l'attributo precedentemente creato in tutti i set di attributi personalizzati.

Creare un Profilo Avanzato

Per risolvere questo problema realizziamo un Profilo Avanzato. Amministrazione > Sistema >Importa/Esporta > Dataflow - Profili Avanzati.

ed incolliamo il seguente codice XML:

<action type="catalog/convert_adapter_product" method="load">
    <var name="store"><![CDATA[0]]></var>
    <var name="filter/toexport">1</var>
</action>

<action type="catalog/convert_parser_product" method="unparse">
    <var name="store"><![CDATA[0]]></var>
    <var name="url_field"><![CDATA[0]]></var>
</action>

<action type="dataflow/convert_mapper_column" method="map">
</action>

<action type="dataflow/convert_parser_csv" method="unparse">
    <var name="delimiter"><![CDATA[,]]></var>
    <var name="enclose"><![CDATA["]]></var>
    <var name="fieldnames">true</var>
</action>

<action type="dataflow/convert_adapter_io" method="save">
    <var name="type">file</var>
    <var name="path">var/export</var>
    <var name="filename"><![CDATA[products.csv]]></var>
</action>

Modificare Magento

Al fine di far riconoscere il nuovo campo toexport dobbiamo modificare un file di Magento TEMPORANEAMENTE per permetterci di poter scaricare il file csv dei nostri prodotti preferiti. Indichiamo Temporaneamente proprio perchè non è buona prassi modificare il core di magento ed a tale scopo se vi interessa possiamo realizzare un modulo ad-hoc per poter evitare tale modifica al core e mantenerla nel tempo. Contattateci.

Il file da modificare è: /app/code/core/Mage/Catalog/Model/Convert/Adapter/Product.php e modificare la riga circa 174:

 

Inserire la riga: $attrFilterArray ['toexport'] = 'eq'; che identificherà il nuovo attributo come potenziale filtro durante l'esportazione dei prodotti.

Selezionare i prodotti da esportare

Aprire una scheda di un qualsiasi prodotto a catalogo ed impostare il nuovo attributo con il valore Si nell'attributo Esporta.

Eseguire l'esportazione dei prodotti preselezionati

Ritornare su Amministrazione > Sistema >Importa/Esporta > Dataflow - Profili Avanzati ed eseguire il profilo. Nella cartella /var/export/ dell'installazione magento si troverà il file csv con i prodotti contrassegnati.