Tres mejoras implementadas en el catálogo público productos-dropi.php y en la extensión Chrome dropi-scraper/popup.js:
(1) navegación de categorías en dos niveles, (2) ocultar proveedores, (3) stock destacado, y (4) botón "Sync Completo" de un solo click en la extensión.
<select> de categorías en el formulario de filtroparent_category por producto con mapa de keywords?parent=X&cat=Y — compatible con deep-links y bookmarks<select> redundante del formulario// PHP: mapa de keywords para clasificar categorías en padres
$parentCategoryMap = [
'Tecnología' => ['tecnologia','gadgets','electrónica',...],
'Hogar' => ['hogar','cocina','decoración','oficina',...],
'Moda & Belleza' => ['moda','belleza','ropa',...],
'Salud & Fitness' => ['fitness','salud','bienestar',...],
...
];
// Función que asigna parent_category a cada producto
function getProductParentCategory(string $cat, array $map): string { ... }
// URL de categoría global: ?parent=Tecnología
// URL de sub-categoría: ?parent=Tecnología&cat=Gadgets
data-supplier) para uso interno.stock-ok y .stock-out para colores semánticosExtrae catálogo completo de Dropi (tarjetas de producto visibles en pantalla)
Abre URL de cada producto para extraer descripción, galería, specs, SKU, ubicación bodega
POST a api-dropshipping.php con todos los datos enriquecidos
⚡ Sync Completo que encadena los 3 pasos automáticamenterunScan(), runEnrich(), runSyncApi()has_details (no solo sin precio)// popup.js — funciones extraídas
async function runScan(tab) { /* scan catalog → merge storage */ }
async function runEnrich(onProgress) { /* open each URL → scrape details */ }
async function runSyncApi(endpoint, products) { /* POST to API */ }
// Handler del nuevo botón
btnSyncComplete.addEventListener('click', async () => {
// 1/3 Escanear
await runScan(tab);
// 2/3 Enriquecer (solo productos sin has_details)
await runEnrich((i, total, name) => setStatus(`2/3 · ${i}/${total}: ${name}…`, 'info'));
// 3/3 Sync API
await runSyncApi(endpoint, finalProducts);
setStatus('✅ Sync completo · X nuevos · Y actualizados', 'ok');
});
productos-dropi.php
PHP: taxonomía, filtros, HTML toolbar, card stock
dropi-scraper/popup.js
JS: runScan/runEnrich/runSyncApi + btnSyncComplete
dropi-scraper/popup.html
HTML: nuevo botón ⚡ Sync Completo