No necesito toda la información de un formulario cuando se trata de un usuario ya registrado, pues es información redundante, como su nombre, apellido, dirección, etc. Pero si se trata de nuevos usuarios rellenando el formulario sí me gustaría que introdujesen todos los campos. ¿Hay alguna manera de hacer esto?

Este ejemplo asume de que tiene dos secciones en su formulario. La primera sección (etiquetada como Sección 1 en la imagen inferior) se mostrará para los usuarios no registrados, pero permanecerá oculta para los usuarios que están ya registrados. La Sección 2 se mostrará para todos los usuarios, registrados o no.

Para los propósitos de este ejemplo, nombraremos a las secciones en el campo Nombre (debajo del campo Etiqueta en la pantalla de propiedades de cada sección) la siguiente manera: 

Nombre de Sección 1: seccion1

Nombre de Sección 2: seccion2

¡El siguiente código asume que usted está utilizando dichos nombres para ambas secciones!

Vaya a las propiedades de su formulario > pestaña Avanzado > Más opciones > Scripts.

En la sección Script de inicialización clic sobre el botón Personalizado. Haga clic sobre la frase Crear código del marco de referencia. Aparecerá un mensaje de alerta diciendo:

Crear código del marco de referencia para el inicializador del formulario?

Haga click sobre OK.

En el área de texto que se abre, debería ver un código como el siguiente:

function ff_FORMNAME_init()
{

} // ff_FORMNAME_init

 Presione ENTER después de la primera llave abierta situada en la segunda línea para ir a una nueva línea. Copie allí el siguiente código:  

<?php
if( JFactory::getUser()->get('id',0) > 0 )
{
     echo
     "
     function mytoggler()
     {
          bfToggleFields('off', 'section', 'seccion1', bfDeactivateField);
          bfToggleFields('on', 'section', 'seccion2', bfDeactivateField);
    }";
}
else
{
     echo
     "
     function mytoggler()
     {
          bfToggleFields('on', 'section', 'seccion1',
          bfDeactivateField);
          bfToggleFields('on', 'section', 'seccion2',
          bfDeactivateField);
     }
     ";
}
?>

 Una vez completado, el código será como sigue:

function ff_FORMNAME_init()
{
     <?php
     if( JFactory::getUser()->get('id',0) > 0 )
     {
          echo
          "
          function mytoggler()
          {
               bfToggleFields('off', 'section', 'seccion1',
               bfDeactivateField);
               bfToggleFields('on', 'section', 'seccion2',
               bfDeactivateField);
          }
          ";
     }
     else
     {
          echo
          "
          function mytoggler()
          {
               bfToggleFields('on', 'section', 'seccion1', bfDeactivateField);
               bfToggleFields('on', 'section', 'seccion2', bfDeactivateField);
          }
          ";
     }
     ?>
} // ff_FORMNAME_init 

 A continuación, vaya a la pestaña Piezas del formulario. En la sección Después del formulario, haga clic sobre el botón Personalizado. Introduzca la siguiente información en el área de texto que aparece: 

return '
<script>
     JQuery(document).ready(function()
     {
          mytoggler();
     });
</script>
';

Ahora haga clic en el icono Guardar situado en la esquina superior izquierda de la pantalla para así guardar los cambios de código realizados. Una vez vuelva al formulario, haga clic en el icono Guardar situado en la parte superior izquierda de la pantalla para así guardar los cambios hechos en el formulario.

 

Descuentos actuales

Suscripción todos extensiones

Summer Sale! All subscriptions at a special price!


Sin límite de dominios!. Incluye todas nuestras extensiones presentes y futuras para Joomla!®, plantillas para Joomla!®   adquiriendo la suscripción de por vida tiene acceso a todas nuestras plantillas.

Más información aquí

Descuento por componentes terceros - 25% Off

Nosotros le ayudamos a que no incurra en grandes gastos. Si es nuevo cliente y ha adquirido un constructor de formularios de otro proveedor, obtendrá un 25% de descuento en nuestra suscripción de un año o de por vida.

Cómo recibir el descuento:

Envíenos un correo electrónico a sales@crosstec.org con la evidencia (por ejemplo, un recibo de PayPal) de que a adquirido otra extensión para formularios y espere a nuestras instrucciones de pago para disfrutar de su suscripción con descuento.

Apoyando a la comunidad Joomla!

Nuestra pasión nos lleva a apoyar a grupos oficiales de usuarios de Joomla! y a organizadores de eventos Joomla! registreados en Joomla.org.

Si planea organizar un evento relacionado con la comunidad Joomla! y necesita cualquiera de nuestros productos, por favor, envíenos un email a info@crosstec.org y recibirá una suscripción de por vida gratuitamente.