Results 1 to 5 of 5

Thread: Usando ajax con sugar

  1. #1
    fedepia is offline Sugar Community Member
    Join Date
    Aug 2007
    Location
    Rosario, Argentina
    Posts
    104

    Thumbs up Usando ajax con sugar (Tutorial)

    Hola gente, siempre me pregunte como hacer para embeber ajax dentro de sugar, es decir mirar el EditView de un contacto y realizar alguna accion sin tener que refrescar el browser. Buenos, despues de un poco de estudio, pude realizar esto, asi que voy a aprovechar a compartir como agregar ajax en sugar.

    Voy a explicar como hacer para agregar en el EditView de un contacto, un boton que cuando lo presionemos ejecute una aplicacion php externa y traiga su contenido. La invocacion a ese archivo php se realizara usando YUI (yahoo user interface). La idea es, cuando se apriete el boton, se llamara a un php externo el cual va a ejecutar su respectivo codigo y va a tomar un parametro desde sugar.

    Primero y principal, tenemos que instalar un modulo para sugar que se llama EnhancedStudio, este modulo va a agregar un nuevo tipo de campo llamado 'CODE' el cual nos permitira agregar codigo php y muchas cosas mas.

    Luego de instalar este modulo, tenemos que agregar el campo code al editview del modulo contacts, para hacer esto tenemos que:
    1- Ir a Admin->Studio->Contacts->Fields. Tenemos que agregar un nuevo field del tipo 'Code', al que llamaremos 'prueba_yui'
    2- En el contenido de este campo debemos agregar:
    PHP Code:
    echo '
    <script>
    function invocar() {
        alert("Se apreto el boton");
        var callback = {
            success: function(o) {
                document.getElementById("div_info").innerHTML = 
                    o.responseText;
            }
        }
        
        var connectionObject = YAHOO.util.Connect.asyncRequest ("GET", "http://localhost/sugarcrm/mi_app.php?nombre=' 
    $bean->first_name '", callback);
    }
    </script>  

    <input type="button" id="boton" name="boton" value="Ejecutar PHP" onclick="invocar();">

    <div id="div_info">
    <b>jojo</b>
    </div>
    '

    3- Luego de agregar este contenido, se debe guardar los cambios y agregar este campo al editView de contacts. Para esto debemos ir a Contacts->Layout->EditView, buscar nuestro nuevo campo llamado "prueba_yui' y arrastrarlo dentro del template.
    4- Por ultimo, debemos crear el archivo al cual vamos a invocar, para esto debemos crear el archivo "mi_app.php" dentro del directorio sugarcrm. El contenido de este php es el siguiente:
    PHP Code:
    echo "<h2>El nombre del contacto es: " $_REQUEST['nombre'] . "</h2><br>";
    for (
    $i=0$i 5$i++) {
        echo 
    "Hola mundo! $i<br>";
    }
    echo 
    '<br><br><br><br><br><iframe src="http://es.wikipedia.org/wiki/Iframe"
          width="400" height="500" scrolling="auto" frameborder="1" transparency>
          <p>Texto alternativo para navegadores que no aceptan iframes.</p>
        </iframe>
    '

    5- Listo! Ya esta terminado. Fuimos un poco mas ambiciosos, por lo que hicimos que desde el EditView de la oportunidad, se pase el nombre del contacto por GET a nuestra aplicacion, nuestra aplicacion mostrara el nombre del contacto, tambien va a mostrar cinco 'Hola mundo' y ya que estamos... vamos a mostrar a wikipedia dentro del detalle de un contacto.

    Con todo esto quise mostrar el potencial que tenemos a la hora de agregar codigo a sugar.

    Cualquier problema que tengan no duden en escribir y voy a tratar de ayudarlos.

    Saludos
    Last edited by fedepia; 2008-07-30 at 07:07 PM.

  2. #2
    labanjohnson is offline Sugar Community Member
    Join Date
    Jul 2007
    Location
    Houston, TX
    Posts
    139

    Default Re: Usando ajax con sugar

    This thread explains how to use AJAX with SugarCRM, without having to always refresh the page. I will translate when I have the time if someone doesn't beat me to it.
    Laban Johnson
    SugarCE User, Idealist
    Open Source and Social Media Enthusiast, Social Entrepreneur
    Twitter: http://www.twitter.com/labanjohnson
    Facebook LinkedIn
    Home page: http://www.LabanJohnson.com

  3. #3
    Angel's Avatar
    Angel is offline Sugar Community Member
    Join Date
    Jul 2005
    Location
    Los Angeles
    Posts
    4,813

    Default Re: Usando ajax con sugar

    Laban,

    Fedepia already posted an English version here: http://www.sugarcrm.com/forums/showthread.php?t=36226

    BTW, this is awesome Fedepia! Muchas gracias!
    Regards,

    Angel Magaña
    Co-Author: Implementing SugarCRM 5.x (Packt Publishing -- Sept. 2010)
    Blog: http://cheleguanaco.blogspot.com.
    Twitter: @cheleguanaco.

    ________
    | Projects: |_____________________________________
    |
    | CandyWrapper (.NET Wrapper for SugarCRM SOAP API). Source now available on GitHub!
    | GoldMine to SugarCRM Express Conversion. Latest: 1.0.1.7 (Nov. 3, 2009)
    | CRM SkyDialer (Skype Integration). Latest: 1.0.2 (Feb. 17, 2010)
    | Round Robin Leads Assignment
    | Phone Number Formatter
    | CaseTwit (Twitter Integration)
    ______________________________________________

  4. #4
    pam81 is offline Member
    Join Date
    Dec 2008
    Posts
    10

    Default Re: Usando ajax con sugar

    Lo probe tal cual y me anduvo con la ultima version 5.1.0b. Pero lo que intente luego fue agregar un boton en el detailviewdef de contact y tratar de hacer una invocación ajax desde el onclick de la misma manera que definis el callback pero me tira error, no hay forma de que reconozca esa definición

    Fatal error: Smarty error: [in cache/modules/Contacts/DetailView.tpl line 24]: syntax error: unrecognized tag: success: function(o) { alert(o.responseText); (Smarty_Compiler.class.php, line 436) in D:\Apache\htdocs\Sugar\include\Smarty\Smarty.class .php on line 1095


    Habra otra manera de realizarlo en este caso ?

  5. #5
    fedepia is offline Sugar Community Member
    Join Date
    Aug 2007
    Location
    Rosario, Argentina
    Posts
    104

    Default Re: Usando ajax con sugar

    por lo que me comentas... me parece que tenes un error de sintaxis en el campo code. Fijate que tenes un error de compilacion, esto no tiene que ver con lo de ajax.

    Fijate de que tengas bien cerradas las comillas en los strings, por otro lado, tene cuidado si pones comentarios de linea, es decir... NO pongas comentarios como por ej:
    //Esto es un comentario de linea
    porque de esta forma se te va a romper todo, mejor usa comentarios de bloque, por ej:
    /*Esto es un comentario de bloque */

    Cualquier cosa escribime, saludos
    __
    Federico Piazza
    Developer
    Argentina

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Sugar 5.0.0d Available for Download
    By clint in forum Announcements
    Replies: 0
    Last Post: 2008-04-28, 10:37 AM
  2. Telemarketing con sugar?
    By roninpove in forum Español
    Replies: 1
    Last Post: 2006-11-07, 06:19 PM
  3. Replies: 0
    Last Post: 2006-03-11, 04:06 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •