vtigerCRM-Spain

Webforms con Joomla en 5.1.0

vtjoomla: Forge Project

  • Sigue instrucciones de instalación de la extensión
  • Edita la línea 26 del fichero components/com_vtigerforms/vtigerforms.php, para indicar si queremos insertar los datos en “Leads” (por defecto) o en “Contacts”
  • Adaptar el formulario según necesidades en el fichero modules/mod_vtigerforms/mod_vtigerforms.php
  • El formulario se encuentra al final de fichero
  • Hay que imprimir todas las cadenas utilizando JText y después traducirlas
  • Si hay que cambiar el usuario asignado de los nuevos contactos hay que editar el fichero modules/Webforms/post.php

Crear un formulario adicional en el mismo Joomla

  • Copiar el directorio a un directorio temporal
  • Cambiar los nombres de los dos fichero a otro. Por ejemplo, mod_vtigerforms_fq.php y mod_vtigerforms_fq.xml
  • Editar el fichero mod_vtigerforms_fq.xml para reflejar el cambio de nombre.
    5c5
    <       <name>vtigerforms_fq</name>
    ---
    >       <name>vtigerforms</name>
    17c17
    <       <filename module="mod_vtigerforms_fq">mod_vtigerforms_fq.php</filename>
    ---
    >       <filename module="mod_vtigerforms">mod_vtigerforms.php</filename>
  • Editar el fichero mod_vtigerforms_fq.php para reflejar el cambio de nombre.
    14c14
    < function mod_vtigerforms_fq_submit(submitButton) {
    ---
    > function mod_vtigerforms_submit(submitButton) {
    31,33c31,33
    <               'loading': new Fx.Style( 'mod_vtigerforms_fq_loading', 'opacity',{ duration: 1000 } ),
    <               'success': new Fx.Style( 'mod_vtigerforms_fq_success', 'opacity',{ duration: 2000 } ),
    <               'fail': new Fx.Style( 'mod_vtigerforms_fq_fail', 'opacity',{ duration: 2500 } )
    ---
    >               'loading': new Fx.Style( 'mod_vtigerforms_loading', 'opacity',{ duration: 1000 } ),
    >               'success': new Fx.Style( 'mod_vtigerforms_success', 'opacity',{ duration: 2000 } ),
    >               'fail': new Fx.Style( 'mod_vtigerforms_fail', 'opacity',{ duration: 2500 } )
    42c42
    <               toogle_display('mod_vtigerforms_fq_success','mod_vtigerforms_fq_loading');
    ---
    >               toogle_display('mod_vtigerforms_success','mod_vtigerforms_loading');
    47c47
    <               toogle_display('mod_vtigerforms_fq_fail','mod_vtigerforms_fq_loading');
    ---
    >               toogle_display('mod_vtigerforms_fail','mod_vtigerforms_loading');
    55c55
    <                       toogle_display('mod_vtigerforms_fq_loading');
    ---
    >                       toogle_display('mod_vtigerforms_loading');
    78c78
    < #mod_vtigerforms_fq_loading, #mod_vtigerforms_fq_success, #mod_vtigerforms_fq_fail {
    ---
    > #mod_vtigerforms_loading, #mod_vtigerforms_success, #mod_vtigerforms_fail {
    82c82
    < #mod_vtigerforms_fq_loading {
    ---
    > #mod_vtigerforms_loading {
    86c86
    < #mod_vtigerforms_fq_success {
    ---
    > #mod_vtigerforms_success {
    90c90
    < #mod_vtigerforms_fq_fail {
    ---
    > #mod_vtigerforms_fail {
    151,154c153,156
    <       <input type="submit" onclick="return mod_vtigerforms_fq_submit(this);" class="button" value="<?php echo JText::_('Submit')?>">
    <       <span id="mod_vtigerforms_fq_loading"><?php echo JText::_('Sending...')?></span>
    <       <span id="mod_vtigerforms_fq_success"><?php echo JText::_('Thank you')?></span>
    <       <span id="mod_vtigerforms_fq_fail"><?php echo JText::_('Failed!')?></span>
    ---
    >       <input type="submit" onclick="return mod_vtigerforms_submit(this);" class="button" value="<?php echo JText::_('Submit')?>">
    >       <span id="mod_vtigerforms_loading"><?php echo JText::_('Sending...')?></span>
    >       <span id="mod_vtigerforms_success"><?php echo JText::_('Thank you')?></span>
    >       <span id="mod_vtigerforms_fail"><?php echo JText::_('Failed!')?></span>
  • Comprimir los ficheros en un nuevo módulo de Joomla
  • Instalar módulo y modificar el formulaio correspondientemente


NOTA: Ambos formularios insertarán sus datos en la misma tabla elegida en el segundo paso de este procedimiento. No sería nada complicado hacer que cada formulario insertara valores en entidades distintas. Para ello hay que:

  • Poner una variable hidden en el formulario con el nombre “moduleName” y el valor de la entidad en la que ha de insertar valores ese formulario
  • Comentar la línea 26 de components/com_vtigerforms/vtigerforms_helper.php ya que esta asignación ya se habrá hecho correctamente con el valor del campo escondido