Este es un error típico que puede ser causado por diferentes motivos: no existe la clave en el formulario enviado, desconfiguración de las cookies, login, etc.
En esta ocasión vamos a tratar este error que sucede en el administrador de Magento al gestionar el catálogo.
¿Cuándo sucede?
Lo que he descubierto por mí mismo es que puede aparecer:
- Cuando buscamos un producto en una categoría con una cantidad importante de referencias
- Cuando cambiamos el orden de los productos de una categoría e intentamos guardarla.
- Intentemos guardar un producto con múltiples opciones.
¿Por qué sucede?
El error aparece porque no es enviada el valor de la key al hacer la búsqueda o guardar (a través de ajax).
Y no es enviada porque este valor es truncado al sobrepasar el límite de variables que podemos enviar al servidor. Este límite está configurado dentro del servidor para prevenir ataques DDOS pero ante categorías con cientos o miles de productos podemos sobrepasar fácilmente este valor y, como hemos dicho, nos devolverá un error en forma de alerta.
¿Cómo solucionarlo?
Una útil solución es cambiar la configuración de Apache, aumentando el límite de la variable max_input_vars. Además si esta configuración afecta sólo al administrador de Magento tendremos más seguridad ante ataques DDOS que si afecta a la totalidad de la tienda.
Este sería una posible opción añadiéndolo al php.ini :
<LocationMatch "/(index\.php/)?admin/">
<IfModule mod_php5.c>
php_value max_input_vars X
</IfModule>
</LocationMatch>
Y para .htaccess (afectando a la totalidad de la tienda):
php_value max_input_vars X
Donde X es el número de variables que queramos establecer y admin es la ruta donde tenemos el administrador de la tienda online. El valor X también dependerá del mayor número de productos asociados a una misma categoría. Si tenemos una categoría con 800 productos podemos establecer este valor a 1000 para tener cierta holgura. Si tenemos una categoría con grandes cambios se puede subir este cambio al valor que consideremos deseado en función de nuestras expectativas.
También puedes contactar con el hosting para que se ocupen ellos de incrementar la variables si no tenéis conocimientos o no tenéis privilegios para cambiar el php.ini.
Si tienes otros síntomas este post puede ser de ayuda.
Más posts relacionados
Involucrado en ecommerce desde 2010. Freelance especializado en tiendas online Magento y Shopify. Desde consultoría y programación hasta posicionamiento en buscadores junto a CRO.
Mi experiencia y pasión por el desarrollo y marketing online me hacen una fuente confiable para las empresas que buscan optimizar sus tiendas en línea y alcanzar sus objetivos.