:::: MENU ::::

Añadir checkbox de condiciones de uso al crear una cuenta en Magento

4.00 avg. rating (77% score) - 4 votes

Magento permite forzar la aceptación de unas condiciones de uso antes de la finalización del pedido.

Sin embargo, si queremos obtener algunos de los sellos de ‘buenas prácticas’ en el comercio electrónico, como pueda ser el sello de Confianza Online, necesitaremos incluir también una casilla de aceptación de las condiciones de uso durante el registro de usuario en nuestra tienda Magento.

Para ello, gracias a la validación de formularios que Magento trae de serie, únicamente será necesario incluir el checkbox en el formulario de registro (con el enlace correspondiente a las condiciones) y asignar las clases y parámetros correspondientes para que el formulario no sea válido si el usuario no marca la casilla.

En el siguiente archivo, es donde realizaremos todas las modificaciones:

app/design/frontend/[interface]/[tema]/template/customer/form/register.phtml

Añadiendo el siguiente código, creamos una nueva sección ‘terminos y condiciones de uso’ con un checkbox que es necesario marcar:

  <div class="fieldset">
    <h2 class="legend"><?php echo $this->__('Condiciones de uso') ?></h2>
    <ul class="form-list">
      <li class="control">
        <div class="input-box">
          <input type="checkbox" name="terms_accepted" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="terms_accepted" class="checkbox required-entry" />
          <label for="terms_accepted"><?php echo $this->__('He le&iacute;do y acepto los ') ?><a href="http://www.mipaginaweb.com/politica-de-privacidad/" target="_blank">t&eacute;rminos y condiciones de uso</a></label>
        </div>
      </li>
    </ul>
  </div>

El truco está en incluir el checkbox dentro de un bloque div con la clase input-box y asignar la clase css required-entry al checkbox.

Magento utiliza las clases CSS para determinar los campos obligatorios y automáticamente mostrará el mensaje correspondiente si no marcamos la casilla.

Para tiendas Magento 1.6 o posterior

Magento 1.6 incorporó la novedad del registro/login y carrito persistente, que permite compartir la sesión y el carrito entre varios dispositivos. Por ejemplo, podemos añadir un artículo al carrito de la compra desde el ordenador de casa y luego completar la compra desde el teléfono.

Si esa característica está activada (viene así por defecto), la plantilla a editar será:

app/design/frontend/[interface]/[tema]/template/persistent/customer/form/register.phtml



6 Comments

  • Responder Pilar |

    Mejor poner Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB) en lugar de la URL a mano, no?

  • Responder marco |

    Hola, que tal, estoy buscando implementar esta solución, inserto el código que mencionas pero no pasa nada…. no muestra el chekbox en el formulario……. estoy utilizando la versión 1.6.2.0….. espero me puedas ayudar, muchas gracias de antemano….

    • Responder Daniel Navarro Murillo |

      Magento 1.6 tiene una característica nueva que es el login y carrito persistentes (entre dispositivos). Si lo tienes activado, tendrás que editar la plantilla:

      app/design/frontend/[interface]/[tema]/template/PERSISTENT/
      customer/form/register.phtml

      en lugar de la mencionada:

      app/design/frontend/[interface]/[tema]/template/customer/
      form/register.phtml

      • Responder Marco |

        Excelente Daniel, muchisimas gracias. Es en ese archivo todo salio de maravilla……
        Gracias por compartir

        Saludos

Hey! Qué opinas sobre el artículo?