Jump to content

catégories - produits


sirozz

Recommended Posts

Hello,

Suite à l'exportation de mes produits depuis une vieille Zencart pour les importer dans une Prestashop, mes articles sont présents dans leurs catégories respectives mais pas dans les catégories mères. J'aimerais dispatcher mes produits dans les catégories mères de manière automatique. Je connais le module productdispatch qui permet de faire ça sans avoir à rentrer dans les fiches produits mais pas de manière automatique et... j'ai 875 produits !!

Donc ma question est: existe-t-il un module pour faire ça ?
Merci !

Link to comment
Share on other sites

Merci, je vais en avoir besoin si je le fais à la main mais je pense que je vais supprimer complètement mes produits et recommencer avec ce module:
Zen Cart to Prestashop Migration

Ce qui m'inquiète un peu c'est qu'il coute quand même 100€ et qu'il n'y a eu aucun retour pour l'instant.

Si jamais ça intéresse quelqu'un qui devrait faire une migration Zencart -> Prestashop, je poste ici mes requêtes SQL pour générer les fichiers CSV compatibles avec l'outil d'importation de Prestashop:

Exportation des catégories:
Le +1 sur Identifiant sert à éviter d'écraser la catégorie 'accueil' de Prestashop
Il faut remplacer le http://www.monsite.com/images par l'url exacte du dossier des images.
Il faut remplacer le 2 (language_id) par celui correspondant.
Executez la requète dans PhpMyAdmin et cliquez sur le bouton "exporter"
Convertissez ensuite le fichier avec Excel pour avoir un CSV correct puis sauvegarder en UTF8

SELECT DISTINCT
c.`categories_id`+1 as `Identifiant`, 
c.`categories_status` as `Actif`, 
cd.`categories_name` as `Nom`,
(SELECT `categories_name` FROM `categories_description` WHERE `categories_id` = c.`parent_id`) as `Catégorie parente`,
cd.`categories_description` as `Description`,
m.`metatags_title` as `Balise title`,
m.`metatags_keywords` as `Meta mots-clefs`,
m.`metatags_description` as `Meta description`,
LOWER(REPLACE(cd.`categories_name`, ' ', '-')) as `URL simplifiée`,
CONCAT('http://www.monsite.com/images/',c.`categories_image`) as `URL de l'image`
FROM 
`categories` as c
LEFT JOIN
`categories_description` as cd ON cd.`categories_id` = c.`categories_id`
LEFT JOIN
`meta_tags_categories_description` as m ON m.`categories_id` = c.`categories_id`
WHERE
cd.`language_id` = 2



Pour les produits:

SELECT DISTINCT
p.`products_id` as `Identifiant`,
p.`products_status` as `Actif`,
pd.`products_name` as `Nom`,
(SELECT `categories_name` FROM `categories_description` WHERE `categories_id` = pc.`categories_id`) as `Categorie`,
REPLACE(p.`products_price`,',','.') as `Prix`,
REPLACE((SELECT `tax_rate` FROM `tax_rates` WHERE `tax_class_id` = p.`products_tax_class_id`),',','.') as `TVA`,
'' as `Prix d'achat`,
(SELECT COUNT(*) FROM `specials` WHERE `products_id` = p.`products_id`) as `En soldes`,
REPLACE(p.`products_price`-(SELECT `specials_new_products_price` FROM `specials` WHERE `products_id` = p.`products_id`),',','.') as `Montant de réduction`,
'' as `Pourcentage de réduction`,
(SELECT `specials_date_available` FROM `specials` WHERE `products_id` = p.`products_id`) as `Réduction de`,
(SELECT `expires_date` FROM `specials` WHERE `products_id` = p.`products_id`) as `Réduction à`,
p.`products_model` as `Référence`,
'' as `Référence fournisseur`,
'' as `Fournisseur`,
(SELECT `manufacturers_name` FROM `manufacturers` WHERE `manufacturers_id` = p.`manufacturers_id`) as `Fabricant`,
'' as `EAN13`,
'' as `Eco taxe`,
REPLACE(p.`products_weight`,',','.') as `Poids`,
p.`products_quantity` as `Quantité`,
CONCAT(SUBSTR(pd.`products_description`,1,150),'...') as `Description courte`,
pd.`products_description` as `Description`,
'' as `Tags`,
(SELECT `metatags_title` FROM `meta_tags_products_description` WHERE `products_id` = p.`products_id` AND `language_id` = 2) `Balise title`,
(SELECT `metatags_keywords` FROM `meta_tags_products_description` WHERE `products_id` = p.`products_id` AND `language_id` = 2) as `Meta mots-clefs`,
(SELECT `metatags_description` FROM `meta_tags_products_description` WHERE `products_id` = p.`products_id` AND `language_id` = 2) as `Meta description`,
LOWER(REPLACE(pd.`products_name`, ' ', '-')) as `URL simplifiée`,
'' as `Texte en stock`,
'' as `Texte en commande`, 
CONCAT('http://www.monsite.com/images/',p.`products_image`) as `URLs des images`,
'' as `Caractéristique`
FROM
`products` as p
LEFT JOIN
`products_description` as pd ON pd.`products_id` = p.`products_id`
LEFT JOIN
`products_to_categories` as pc ON pc.`products_id` = p.`products_id`
WHERE
pd.`language_id` = 2



Pour les déclinaisons

SELECT
pa.`products_id` as `ID Produit`,
GROUP_CONCAT(
   CONCAT(
       (SELECT `products_options_name` FROM `products_options` WHERE `products_options_id` = pa.`options_id`),
       ':',
       (SELECT `options_values_id` FROM `products_options_values` WHERE `products_options_values_id` = pa.`options_values_id`)
   )
   SEPARATOR ','
),
'' as `Référence`,
'' as `Référence fournisseur`,
'' as `EAN13`,
'' as `Prix d'achat`,
CASE `price_prefix` 
WHEN '+' THEN
REPLACE((SELECT `products_price` FROM `products` WHERE `products_id` = pa.`products_id`)+pa.`options_values_price`,',','.')
WHEN '-' THEN
REPLACE((SELECT `products_price` FROM `products` WHERE `products_id` = pa.`products_id`)-pa.`options_values_price`,',','.')
END as `prix`,
'' as `Eco taxe`,
(SELECT `products_quantity` FROM `products` WHERE `products_id` = pa.`products_id`) as `Quantité`,
REPLACE((SELECT `products_weight` FROM `products` WHERE `products_id` = pa.`products_id`),',','.') as `Poids`
FROM 
`products_attributes` as pa
GROUP BY
pa.`products_id`

Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...