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:
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.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>
';
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:
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.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>
';
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


LinkBack URL
About LinkBacks




Reply With Quote



Bookmarks