Mapa de tablas del catálogo en PrestaShop 1.6/1.7
Mapa mental de producto, tienda, idioma, categorías, combinaciones, precios específicos, proveedores y stock en bases PrestaShop legacy.
- Revisado
- Compatibilidad
- PrestaShop 1.6.x–1.7.x; comprobar la versión instalada
- Lectura
- 2 min
- Autor
- Gabriel — infinit8
Una lista breve de tablas puede ahorrar horas cuando una tienda antigua exige una auditoría. El valor no está en memorizar nombres, sino en reconocer tres ejes que multiplican filas: idioma, tienda y combinación.
Producto, tienda e idioma
product: identidad y datos globales del producto.product_shop: valores que pueden variar por tienda.product_lang: textos por idioma y, según versión/contexto, tienda.
Consultar solo product puede dar una imagen incompleta de precio, visibilidad o contenido.
Relaciones de catálogo
category_product: pertenencia y posición en categorías.product_attribute: combinaciones del producto.product_attribute_combination: valores que forman cada combinación.specific_price: reglas y reducciones de precio.product_supplier: relación con proveedores y referencias.stock_available: disponibilidad por producto, combinación y contexto de tienda.
Una consulta base con contexto explícito
Este ejemplo sirve para inspeccionar, no para duplicar la lógica comercial del core.
SELECT
p.id_product,
ps.active,
ps.price,
pl.name,
pl.link_rewrite
FROM ps_product AS p
INNER JOIN ps_product_shop AS ps
ON ps.id_product = p.id_product
INNER JOIN ps_product_lang AS pl
ON pl.id_product = p.id_product
AND pl.id_shop = ps.id_shop
WHERE ps.id_shop = :shop_id
AND pl.id_lang = :language_id
ORDER BY p.id_product;
No presupongas columnas ni claves de una instalación distinta. Revisa el esquema real y crea una copia recuperable antes de cualquier operación de mantenimiento.
Cuándo no usar SQL directo
Para cambiar datos desde un módulo, la clase Db, ObjectModel o los servicios de la versión mantienen convenciones como el prefijo y el contexto. Para integraciones externas, valora el Webservice. El SQL directo es especialmente útil para lectura, auditoría y recuperación controlada.
Preguntas frecuentes
¿Por qué el nombre aparece duplicado?
Normalmente porque la consulta no restringe id_lang, id_shop o ambos en la tabla de idioma.
¿El precio final está únicamente en product_shop?
No. Impuestos, moneda, grupo, reglas de carrito y specific_price pueden intervenir en el cálculo mostrado.
Referencias y revisión
Contenido contrastado con documentación oficial. Comprueba siempre el comportamiento en un entorno de pruebas antes de desplegar cambios.