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


¿Quieres comprarlo en otro sitio?

Amazon | Casa del Libro

Mostrando entradas con la etiqueta Error. Mostrar todas las entradas
Mostrando entradas con la etiqueta Error. Mostrar todas las entradas

Solucionar obligación iniciar sesión para rellenar formulario

Tenía ya hecho un formulario bastante largo en Google Drive, lo publico y lo comparto... y resulta que todo el mundo que accede al formulario le pide que "Inicie sesión para continuar. Para rellenar este formulario debes iniciar sesión".
 
 
Buscando en los foros, en principio tiene que ver con si está marcada la opción de "Limitar a una respuesta por usuario" pero en mi caso esa opción no estaba marcada. Así que después de duplicar formulario, marcar y desmarcar por si acaso, se me ocurre eliminar un campo "archivo adjunto" que tenía y voilá, ya no pide iniciar sesión para completarlo.

Así que la moraleja es que si tu formulario incluye campos para adjuntar archivos, los usuarios tendrán que iniciar sesión en sus cuentas de Google (en definitiva para poder usar Drive como almacenamiento). 
 
Aunque este post pueda aparecer off-topic, no lo es: relacionado con tu tienda online puedes usar estos formularios para realizar encuestas de satisfacción por ejemplo o en tareas de soporte al cliente.
 

¿Conoces mi nuevo libro La biblia del e-commerce?
 

Error en pago sin registro con Paypal en Prestashop 1.6

En los pedidos realizados por clientes no registrados, con perfil Invitado usando la opción de compra sin registro o express checkout, ocurría un error en el pago con Paypal relacionado con la provincia (campo "city") y la dirección (campo "address") que impedía procesar el mismo.

Pulsa para ampliar


Descartado que el problema fuera del módulo de pago rápido instalado ("SuperCheckout") ya que al seleccionar pago por Paypal sí valida y guarda correctamente los campos de Provincia y Dirección y además, viendo el código fuente de la página destino se comprueba que  también llegan los datos HASTA Paypal:

      "shipping_address": {
                        "first_name": "jose",
                        "last_name": "luis",
                        "line1": "mi direccion , 5",
                        "city": "murcia",
                        "state": "ES-MU",
                        "country_code": "ES",
                        "postal_code": "30009"

 

     
El problema está en el módulo de Paypal (versión 3.10.2 en mi caso).

Las soluciones "provisionales" que tenía era desactivar Paypal SOLO para el grupo de Invitados o compras sin registro (Backoffice > Grupos de clientes) o dejar pasar el pedido con el error y contactar con el cliente antes usar la opción "Transformar invitado en cliente" del detalle del pedido.

La solución definitiva que llevé a cabo fue modificar el modules\paypal\express_checkout\payment.php

    Linea 98:   $address->address1 = $ppec->result['PAYMENTREQUEST_0_SHIPTOSTREET'];
    cambiar por:  $address->address1 = $customer->address1;

    Línea 101:   $address->city = $ppec->result['PAYMENTREQUEST_0_SHIPTOCITY'];
    cambiar por: $address->city = $customer->city;


Por cierto, ¿te he dicho ya que mi libro sigue de los más vendidos en Amazon?

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



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