一键导入
ps-demo-user
ps-demo-user — Usuario demo PrestaShop 8 (Lando)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
ps-demo-user — Usuario demo PrestaShop 8 (Lando)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Generates a local invoice PDF viewer for PrestaShop projects, deployed as invoice-preview/index.php (subfolder, ROOT = dirname(__DIR__)). Lists the last 50 orders (searchable by reference/customer/id), renders the real PDF invoice for any order straight from classes/pdf/HTMLTemplateInvoice.php + pdf/*.tpl (respecting any themes/{child}/pdf/*.tpl override PS itself resolves) inline in the browser via an iframe, with a "Generar factura" button for orders that don't have one yet. Zero placeholders to fill in — admin dir, Lando URL, DB credentials and shop name are all auto-detected at runtime from config/parameters.php and the PS_SHOP_NAME configuration value. Gated behind backoffice employee auth (Cookie class, always denies on failure). Geist-font UI matching the ps-email-preview visual style. Use this skill whenever the user wants to preview, inspect, or debug PrestaShop invoice/receipt PDF templates without going through the backoffice order page each time, asks "cómo se ve la factura", "quiero ver el PDF de
Arregla zonas blancas (padding) en imágenes de productos PrestaShop y regenera thumbnails de forma segura sin bloquear Apache. Úsala cuando el usuario diga: "imágenes con blanco", "white zones en imágenes PS", "thumbnails con relleno blanco", "regenerar miniaturas PS", "regenerar thumbnails prestashop", "el admin de PS se queda colgado regenerando", "imágenes de productos con bordes blancos", "imágenes no llenan el contenedor", o cuando vea padding blanco en el listing de productos de una tienda PrestaShop. También aplica cuando hay que sincronizar comportamiento de generación de imágenes entre local Lando y servidor de staging/prod.
Sets up a full security stack on your company's projects hosted on GitLab.com (non-PrestaShop: Laravel, Astro, TanStack, etc.). Use ONLY when the project is a GitLab.com Free tier project. Triggers when the user asks to add dependency scanning, vulnerability alerts, security setup, Trivy, pnpm supply chain protection, or wants email reports of vulnerabilities. Do NOT use for GitHub-hosted projects, personal projects, or PrestaShop projects — use ps-security-audit skill instead for any PrestaShop project.
Sets up a modern CSS build pipeline for a PrestaShop child theme: source partials in _dev/css/, lightningcss bundle+minify to a single generated assets/css/custom.css, pnpm 11 with supply-chain hardening, pre-commit hook with zero-dependency Node fallback, and agent/team documentation. Replaces runtime @import chains and manual ?v= cache-bust versioning. Use when scaffolding CSS architecture for a new PS child theme, when a theme has multiple @import'ed CSS partials loaded at runtime, when the user mentions manual CSS version bumps, CSS cache busting problems, "el CSS no se actualiza", or wants the Milagros-style CSS build on another project.
Sets up a PrestaShop 8/9 project locally with Lando, or refreshes its database from the server. Full setup configures Lando, syncs app/config, picks a free port, imports the DB and fixes shop URLs; DB refresh mode only re-dumps and re-imports the database. Use when the user says "monta el proyecto", "setup lando", "prepara en local", "levanta el lando de X", "configura X en local", "actualízame la DB", "refresca la DB de X", "bájame la DB de X", "sync DB", or "quiero la DB actualizada de X".
Automatiza la detección y traducción de strings sin traducir en una instalación PrestaShop. Escanea todos los templates .tpl y archivos PHP buscando llamadas {l s='...' d='...'} del sistema i18n de PS, compara contra los XLF existentes del locale activo (es-CO por defecto) y traduce los strings faltantes usando Claude de forma nativa — sin API key externa. Usa esta skill cuando el usuario mencione: "traducciones PS", "strings en inglés", "ps-translate", "traducir prestashop", "i18n pendiente", "hay textos en inglés en la tienda", "¿qué strings faltan por traducir?" o cuando vea texto en inglés en el storefront que debería estar en español.
| name | ps-demo-user |
| description | ps-demo-user — Usuario demo PrestaShop 8 (Lando) |
| version | 0.1.0 |
| metadata | {"author":"Eduardo Calvo"} |
Crea un cliente de prueba con historial completo para testear la UI del panel de usuario. Reutilizable en cualquier proyecto PS8 con Lando.
| Campo | Valor |
|---|---|
edu@demo.com | |
| Password | edudemo123 |
| Nombre | Edu Demo |
DEMO00001 — Entregado (hace 60 días) + factura descargable + tracking GLSDEMO00002 — Enviado (hace 30 días) + factura + tracking GLSDEMO00003 — En preparación (hace 5 días)-- Carrier activo
SELECT id_carrier, name FROM {prefix}carrier WHERE active=1 AND deleted=0 LIMIT 5;
-- Productos con precio para usar en order_detail
SELECT id_product, reference, price FROM {prefix}product WHERE active=1 AND price > 0 LIMIT 5;
-- Prefijo
-- Ver en app/config/parameters.php → database_prefix
El script base está en demo-user-setup.sql (proyecto vives-8).
Cambios obligatorios para otros proyectos:
vivesps_ → el del proyecto@carrier_id por el carrier activoproduct_id en la sección ORDER DETAILS por productos realeslando php -r "echo password_hash('nueva_clave', PASSWORD_BCRYPT);"
Y actualizar el campo passwd en la sección CUSTOMER.lando mysql lamp -u lamp -plamp < demo-user-setup.sql
El script incluye
SET sql_mode = ''para evitar errores de fecha cero en Lando.
Entrar en https://{proyecto}.lndo.site/es/login con edu@demo.com / edudemo123
O verificar por SQL:
SELECT id_customer, email FROM {prefix}customer WHERE email='edu@demo.com';
SELECT reference, current_state FROM {prefix}orders WHERE id_customer={id} LIMIT 5;
SET sql_mode = '';
1. CUSTOMER — cuenta con bcrypt hash
2. ADDRESSES — 2 direcciones (casa + trabajo)
3. CARTS — 3 carritos (FK obligatoria de orders)
4. ORDERS — 3 pedidos (entregado / enviado / preparación)
5. ORDER_DETAIL — líneas de producto por pedido
6. ORDER_PAYMENT — registro de pago por pedido
7. ORDER_INVOICE — facturas (pedidos 1 y 2)
8. ORDER_HISTORY — log de cambios de estado
9. ORDER_CARRIER — transportista + tracking por pedido
| Problema | Solución |
|---|---|
Error fecha 0000-00-00 | Añadir SET sql_mode = '' al inicio |
birthday = 0000-00-00 da error en backoffice | Usar NULL en lugar de '0000-00-00' — PS8 lo rechaza al editar el cliente |
secure_key = '-1' da CustomerException | Debe ser un MD5 de 32 chars — usar MD5(RAND()) en el INSERT |
newsletter_date_add = 0000-00-00 da error | Usar NULL en lugar de fecha cero |
id_cart obligatorio en orders | Crear carts antes que orders |
invoice_address/delivery_address no existen | Eliminados en PS8 — no incluir |
unit_price_tax_incl_after_specific_price no existe | Eliminado en PS8 — no incluir |
| Password MD5 antiguo no funciona | PS8 usa bcrypt — regenerar hash |
SET sql_mode='';
SELECT @id := id_customer FROM {prefix}customer WHERE email='edu@demo.com';
DELETE oc FROM {prefix}order_carrier oc JOIN {prefix}orders o ON oc.id_order=o.id_order WHERE o.id_customer=@id;
DELETE oh FROM {prefix}order_history oh JOIN {prefix}orders o ON oh.id_order=o.id_order WHERE o.id_customer=@id;
DELETE oi FROM {prefix}order_invoice oi JOIN {prefix}orders o ON oi.id_order=o.id_order WHERE o.id_customer=@id;
DELETE op FROM {prefix}order_payment op JOIN {prefix}orders o ON op.order_reference=o.reference WHERE o.id_customer=@id;
DELETE od FROM {prefix}order_detail od JOIN {prefix}orders o ON od.id_order=o.id_order WHERE o.id_customer=@id;
DELETE FROM {prefix}orders WHERE id_customer=@id;
DELETE FROM {prefix}cart WHERE id_customer=@id;
DELETE FROM {prefix}address WHERE id_customer=@id;
DELETE FROM {prefix}customer WHERE email='edu@demo.com';