Publicar productos en la web
Publicar productos en la web
Un producto no aparece en tu tienda en línea por el simple hecho de existir en ERPNext. Tienes que publicarlo y, además, cumplir unas cuantas condiciones para que se vea bien y se pueda comprar. Este es el mismo principio de ERPNext estándar —un artículo no sale en la web hasta que lo publicas— solo que en Doco basta con encender una casilla del propio Item, sin crear un documento «Website Item» aparte. Referencia: https://docs.frappe.io/erpnext/website_item
Esta página te da la lista completa de requisitos, cómo agrupar productos en colecciones, cómo manejar sus fotos, y qué hacer cuando un producto «no sale» aunque juras que lo publicaste.
El interruptor principal: publish_on_web
Cada artículo (Item) de ERPNext tiene una casilla que decide si sale o no en la tienda.
- En tu Escritorio, abre la ficha del artículo: Item → busca el producto.
- Localiza la casilla «Publish on Web (Storefront)» (
publish_on_web). Está justo debajo de la casilla Disabled. - Enciéndela y guarda.
Eso marca el producto como candidato a aparecer. «Candidato», porque para que realmente se vea deben cumplirse todas las condiciones de la siguiente sección.
Nota — productos con variantes: si el producto tiene variantes (por ejemplo, tallas o colores), publica el producto plantilla. La marca de publicación se copia a sus variantes automáticamente. La tienda muestra una sola ficha con un selector de opciones; el cliente elige su variante ahí. No publiques cada variante como si fuera un producto suelto.
La lista completa: qué se necesita para que un producto salga
Para que un producto aparezca en el catálogo público, se deben cumplir todas estas condiciones a la vez (es un «y», no un «o»):
- Publicado:
publish_on_web= encendido. - No deshabilitado: la casilla Disabled del Item debe estar apagada. Un producto deshabilitado nunca sale, aunque esté publicado.
- Dentro del alcance del catálogo de la tienda. Cada tienda define qué universo de productos vende con el campo «Catalog Scope» (
catalog_scope) del Storefront Profile. Las opciones son:price_list(por defecto): solo productos que tienen precio en la lista de precios de la tienda («Selling Price List»).item_group: solo un grupo de artículos (una categoría) y sus subcategorías.brand: solo una marca (Item Brand).collection: solo los productos de una colección.all: todos los productos publicados.
Advertencia: con el valor por defecto (
price_list), un producto publicado pero sin precio en la lista de precios de la tienda NO aparece. Esta es la causa #1 de «lo publiqué y no sale». El precio se da con un Item Price en la lista correcta, igual que en ERPNext estándar (donde el precio de un artículo se guarda como Item Price dentro de una lista de precios). Referencia: https://docs.frappe.io/erpnext/item-price - No oculto por una regla per-producto. Si alguien lo marcó como oculto en los overrides (ver más abajo,
hidden), no sale aunquepublish_on_webesté encendido. - Coincide con la visibilidad de existencias. Por defecto, un producto agotado sí aparece (marcado «Agotado» y en gris). Solo desaparece si la tienda activó «Hide out-of-stock items» (
hide_out_of_stock). Y si es un servicio o artículo sin inventario, solo aparece si «Show non-stock items» (show_nonstock) está encendido (lo está por defecto).
Nota: también hay filtros por grupo: «Include only these groups» (
included_item_groups) y «Exclude these groups» (excluded_item_groups) en el Storefront Profile. Si usas «incluir», el catálogo se limita a esos grupos; «excluir» quita grupos aunque el alcance los abarque. Estos grupos son tus Item Group de ERPNext, el mismo árbol de categorías que ese sistema usa para agrupar productos en la web. Referencia: https://docs.frappe.io/erpnext/item-group
Fotos del producto
La foto principal de cada producto en la tienda es la imagen del Item (image, el campo «Image» de la ficha de ERPNext). Sube una buena foto ahí y será la que se vea en la tarjeta del catálogo y en la ficha.
- Si un producto no tiene foto, igual aparece (con un espacio sin imagen), pero convierte mucho menos. Prioriza fotografiar tus productos más vendidos.
- Para una galería con varias fotos en la ficha del producto, usa la tabla «Storefront Photos» (
storefront_photos) que aparece en la misma ficha del Item, más abajo (después del campo de colecciones). Cada renglón tiene dos columnas: «Image URL» (image, una ruta pública/files/…o un enlacehttps) y «Caption» (caption, el pie de foto). Estas fotos se muestran en la página del producto además de la imagen principal.
Importante: las URLs de imagen deben ser públicas: una ruta
/files/…de tu propio ERPNext o un enlacehttpslimpio. Una imagen «privada» (adjunto restringido) puede no cargar para un visitante anónimo.
Nota — cargar fotos desde el asistente: para la imagen principal de un producto puedes usar el asistente de Doco (Contabot): envías la foto con la palabra «foto» (o «imagen») y una pista, el sistema la describe, te propone los productos que coinciden por nombre y tú eliges cuál; al confirmar, guarda la foto como archivo público y la pone como
Item.image. Es una ayuda para la foto principal en lote; la galería (storefront_photos) se captura a mano, renglón por renglón, en la ficha del Item.
Ajustes por producto sin re-publicar: los overrides
A veces quieres ocultar un par de productos, destacarlos, o ponerles una etiqueta («Oferta», «Nuevo») sin andar prendiendo y apagando publish_on_web. Para eso está la tabla «Item Overrides» (item_overrides, tipo «Storefront Item Override») en la pestaña «Curación» del Storefront Profile.
Cada renglón apunta a un Item y te deja marcar:
- Hidden (
hidden): oculta ese producto de la tienda aunque esté publicado. Útil para retirar algo temporalmente sin tocar su ficha. - Featured (
featured): lo marca como destacado (recibe una insignia y puede salir en el carrusel de destacados de la portada). - Badge (
badge): una etiqueta corta que aparece en la tarjeta (ej. «Oferta», «Nuevo»).
Regla de Doco: los overrides solo controlan visibilidad, destacado y etiqueta. El nombre, la descripción y el precio que ve el cliente siempre vienen del Item y de la lista de precios de ERPNext — no hay un «título web» ni un «precio web» que sobrescriba lo del ERP. Si quieres otro precio en la tienda, cambia el Item Price de la lista de la tienda; nunca inventes un precio en la vitrina.
Agrupar productos en colecciones
Una colección es un conjunto curado de productos con su propia página (/c/<slug>): «Verano», «Lo más vendido», «Compatibles premium», lo que tú decidas. Sirve para campañas y para navegación temática.
Para crear una colección:
- En el Escritorio, ve a Storefront Collection → Nuevo.
- Llena «Collection Name» (
collection_name), por ejemplo «Verano». - El «Slug» (
slug) se genera solo a partir del nombre (minúsculas,a-z0-9-) y forma la URL/c/verano. Puedes escribir uno propio. - Opcional: «Title», «Description», «Hero Image URL» (
hero_image, el banner de la página), y campos de SEO («SEO Title», «SEO Description»). - Deja «Enabled» (
enabled) encendido. Con «Display Order» (display_order) ordenas cómo se listan varias colecciones. - Si tienes varias vitrinas en el mismo ERPNext, el campo «Storefront» (
storefront) limita la colección a una sola vitrina; vacío = todas.
Para meter un producto en la colección hay dos caminos:
- Desde el producto: en la ficha del Item, campo «Storefront Collections» (
storefront_collections) — agrega ahí las colecciones a las que pertenece. - Definiendo el alcance de una tienda por colección: una tienda entera puede ser «una colección» poniendo
catalog_scope=collectiony eligiendo la colección en «Scope Collection» (scope_collection).
Nota: los grupos de catálogo («Storefront Catalog Group») son otra cosa: son tus categorías de ERPNext (Item Group) que usas para navegar «por categoría» y para incluir/excluir en el alcance. Las colecciones son curaduría temática; los grupos son tu árbol de categorías.
Cuando «lo publiqué y no sale»: diagnóstico
Recorre esta lista en orden; casi siempre es uno de los primeros tres:
- ¿El Item tiene
publish_on_webencendido y está guardado? - ¿El Item no está Disabled?
- Con alcance
price_list(el default), ¿el producto tiene precio (Item Price) en la lista de precios de la tienda? Sin precio, no sale. - ¿Cae dentro del
catalog_scopede la tienda? Si el alcance es un grupo/marca/colección, el producto debe pertenecer a ese conjunto. Revisa también «Exclude these groups». - ¿Está oculto en los Item Overrides (
hidden)? - ¿Es un servicio o no-inventariable con
show_nonstockapagado? Entonces se esconde. - ¿Está agotado y la tienda tiene
hide_out_of_stockencendido? Entonces desaparece en lugar de mostrarse en gris.
Nota — la caché del catálogo: para ir rápido, el listado del catálogo se guarda en caché unos 2 minutos (y la navegación por categorías, hasta ~5 minutos). Por eso un cambio recién guardado puede tardar ese ratito en verse para el visitante. Un producto totalmente nuevo que aún no estaba en la vitrina aparece de inmediato (una ficha que nunca se había mostrado no está en caché); lo que puede quedar «viejo» un par de minutos es el listado y el estado de existencias mientras navegas. El checkout siempre revisa el stock en vivo, así que la caché no te hace vender de más. Si tras verificar los 7 puntos y esperar unos minutos el producto sigue sin salir, pide al equipo Muelle refrescar el índice del catálogo.
Relacionado
- Cómo funciona tu tienda en línea
- Editar la portada y secciones