Necesitas mi libro "Claves para abrir una tienda online y que venda" y lo sabes...


¿Quieres comprarlo en otro sitio?

Amazon | Casa del Libro

Cómo se crean lotes o packs en Prestashop

Para vender un lote o pack de productos compuesto por varios artículos (ej: teléfono móvil, cargador para automóvil y funda) hay que usar la funcionarlidad

El proceso para crear un pack es similar al utilizado para la creación de un producto normal:

1. Ir a la página "Producto" y bajo el menú "Catálogo".

2. Hacer clic en el botón "Añadir nuevo".

3. En la pestaña "Información" a la izquierda, cambiar el tipo de producto a "Pack de productos existentes".



A continuación aparecerán aparecerán nuevos campos en el formulario:

  • El primer campo se utiliza para buscar los productos que ya están registrados en su tienda.
  • El segundo campo se utiliza para indicar qué cantidad del producto seleccionado debe ser añadido al paquete.
  • El botón añade el producto al pack.


Observaciones:


  • El pack o lote puede tener un precio distinto –normalmente inferior- a la suma total de los productos que lo componen
  • En el carrito y en el pedido aparece la descripción (y referencia en su caso) del nombre del pack, no los productos que lo componen
  • Actualmente no se puede añadir combinaciones o productos virtuales a un pack.
  • Si necesitas tener packs con combinaciones, tendrás que crear productos únicos para cada combinación (esta es una limitación que será corregida en una próxima versión de PrestaShop…).
  • Se puede añadir un paquete existente en un nuevo pack, o importar el contenido de un paquete existente dentro de un nuevo pack.

Imagen del contenido del pack en la parte pública de la tienda o front

¿Dónde se guarda esta información en la base de datos?


La información de los lotes o pack se guarda en la tabla “PREFIX_pack”(prefix sería el prefijo de las tablas, normalmente “ps”), que tiene la siguiente estructura:

NOMBRE CAMPO
Observaciones
id_product_pack
“ id_product” del pack  en la tabla “ps_product”*
id_product_item
“id_product” del artículo asociado al pack id_product_pack
quantity
Cantidad del id_product asociado  al pack id_product_pack


* La información que se guarda del pack como producto es idéntica a cualquier otro producto excepto que en el campo “cache_is_pack” de la tabla “ps_product” tiene el valor “1”.

Error Unable to allocate memory for pool en Prestashop

Tanto si tienes el modo debug activado en Prestashop como si no, y se muestran mensajes similares a este:

Warning on line 1384 en archivo /var/www/vhosts/httpdocs/tienda/tools/smarty/Smarty.class.php
[2] require_once(): Unable to allocate memory for pool.



Es probable que tenga que ver el módulo  APC (Alternative PHP Cache) como apuntan aquí.




En mi caso, lo he desactivado directamente porque estoy usando "memcache" en vez de APC, pero también se puede cambiar la configuración del módulo de APC en PHP editando el php.ini con estos valores:

apc.shm_size:128MB
apc.ttl: 7200
apc.user_ttl: 7200
apc.gc_ttl: 3600



2 libros por menos de 5€

En la Semana del Día del Libro (20-26 de abril) puedes conseguir mis dos libros "Claves para abrir una tienda online y que venda" y "El SEO ha muerto" por menos 5€ en la Casa del Libro.

¡Aprovecha esta oportunidad!


http://www.casadellibro.com/lectores/misLibrosPublicados?idusuario=5574513&lang=es

Ocultar subcategorías en menu horizontal Prestashop

Si tienes muchas subcategorías de tercer nivel (ej: Coches > Marcas > Marca n) que hacen que el menú horizontal superior no sea manejable al mostrar las distintas subcategorías, tendrás que ocultar las subcategorías en menu superior horizontal modificando la hoja de estilos de tu plantilla (global.css en el directorio "css" correspondiente a tu plantilla en "themes").

La línea a incluir es:

.pt_custommenu div.pt_menu .itemSubMenu { display: none !important; }




ANTES


DESPUÉS


Mi fragmento código se queda así (actualización 15/01/16):

.pt_custommenu div.pt_menu.active a, #pt_menu_pt_item_menu_custom_menu.active .parentMenu span,#pt_menu_link a:hover, .pt_custommenu div.pt_menu.active .parentMenu a:hover{background-color: #fdfdfd; color: #00945E;}.pt_custommenu div.pt_menu.act a{background-color: #fdfdfd; color: #00945E;}.pt_custommenu div.pt_menu .itemMenu .itemMenuName{font-size: 13px; font-family: 'Open Sans'; font-weight: normal; color: #444; background: none; padding: 0; border-bottom: 1px solid #d2d2d2;}.pt_custommenu div.pt_menu .itemMenu .itemMenuName{font-size: 16px; font-family: Open Sans Semibold; text-transform: uppercase; font-weight: normal; color: #444; background: none; padding: 0; border-bottom: 1px solid #d2d2d2;}.pt_custommenu div.pt_menu .itemMenu a:hover{color: #00945E;}/*  inicio modif para ocultar subcategorias */.pt_custommenu div.pt_menu .itemSubMenu { display: none !important; }/* fin modif para ocultar subcategorias */.pt_custommenu div.pt_menu .itemSubMenu a.itemMenuName{line-height: 28px; color: #000; padding-left: 13px; font-weight: normal; font-size: 15px; padding: 0; font-family: 'Open Sans'; border: none; }.pt_custommenu div.pt_menu .itemSubMenu a:hover{color: #00945E; }


Error: Table is marked as crashed and should be repaired

"Error: Table './DATABASE_NAME/ps_product' is marked as crashed and should be repaired"
Es lo único que aparecía en una tienda  Prestashop "grande" y con mucha actividad diaria de las que mantengo (los 780.000 registros de la tabla corrupta ocupan más de 200Mb):




Afortunadamente pude solucionarlo en menos de 1 minuto accediendo a la base de datos (yo usé como siempre HeidiSql pero phpMyAdmin también vale...) y escribir:
repair table ps_product;


¡Qué alivio! Si todo fuera igual de fácil...

NOTA: En el mensaje aparecía para de la instrucción que estaba creando el problema, por lo que ahora viene identificar qué programa o proceso causó la incidencia para prevenir que se repita.


Más información sobre reparaciones de tablas corruptas en Mysql en

Repairing Database Corruption in MySQL