Introducción
PrestaShop permite gestionar precios y stock de forma masiva importando datos desde un CSV externo. Es la mejor opción para actualizar miles de productos sin tener que modificarlos uno a uno desde el panel de administración.
En este artículo aprenderás a sincronizar precios o stock en PrestaShop desde un archivo CSV de forma técnica y segura, incluso si no tienes conocimientos avanzados.
Índice
- 1. Estructura recomendada del CSV
- 2. Tablas de PrestaShop implicadas
- 3. Script PHP para sincronizar precios y stock
- 4. Buenas prácticas y consejos SEO
- 5. Conclusión
1. Estructura recomendada del CSV
Tu archivo CSV debería tener un aspecto similar a este:
id_product;reference;price;quantity 101;CAMISA-001;29.95;100 102;PANTALON-002;49.50;35 103;ZAPATO-003;79.00;12
Explicación de campos:
- id_product: ID interno del producto en PrestaShop.
- reference: Código de referencia (puede ser único).
- price: Precio del producto (sin impuestos).
- quantity: Stock disponible.
2. Tablas implicadas en PrestaShop
Al modificar precios y stock, estas son las tablas que se ven afectadas:
Tabla | Campo | Descripción |
---|---|---|
ps_product | price | Precio base del producto (sin impuestos). |
ps_product_shop | price | Precio en la tienda específica (multitienda). |
ps_stock_available | quantity | Stock disponible para el producto. |
3. Script PHP para sincronizar datos
Ejemplo de cómo procesar el CSV con PHP:
<?php // Datos conexión $host = 'localhost'; $user = 'usuario_mysql'; $pass = 'clave_mysql'; $db = 'nombre_base_datos'; $conn = new mysqli($host, $user, $pass, $db); if ($conn->connect_error) { die("Conexión fallida: " . $conn->connect_error); } $csv = fopen('productos.csv', 'r'); while (($line = fgetcsv($csv, 1000, ";")) !== FALSE) { $id_product = (int)$line[0]; $price = (float)$line[2]; $quantity = (int)$line[3]; // Actualizar precio $sql1 = "UPDATE ps_product SET price = $price WHERE id_product = $id_product"; $sql2 = "UPDATE ps_product_shop SET price = $price WHERE id_product = $id_product"; // Actualizar stock $sql3 = "UPDATE ps_stock_available SET quantity = $quantity WHERE id_product = $id_product"; $conn->query($sql1); $conn->query($sql2); $conn->query($sql3); } fclose($csv); $conn->close(); ?>
Explicación paso a paso:
- Conecta a la base de datos MySQL.
- Abre el CSV línea por línea.
- Lee el ID del producto, precio y stock.
- Ejecuta las consultas SQL para actualizar precios y stock.
4. Buenas prácticas y SEO
- 💾 Haz siempre un backup antes de actualizar datos masivos.
- 📊 Prueba primero en entorno de staging.
- 🔍 Incluye keywords como “actualizar stock CSV PrestaShop” para SEO.
- 🛠️ Controla errores y guarda logs del proceso PHP.
5. Conclusión
Automatizar la sincronización de precios o stock desde CSV en PrestaShop es una forma eficiente de mantener el catálogo actualizado sin depender del panel manualmente.
📩 ¿Necesitas que te creemos un script personalizado? ¡Contáctanos!