Tutorial Akisha AJAX 1

Jueves, 4 de Junio de 2009

Vamos a pensar en un escenario en donde se carga un contenido dinamico y el resulado se coloca dentro de un div, cuando se hace la llamada a un derminado archivo php, se coloca en un div el texto de carga y al finalizar se coloca la respuesta dentro del div.

goAJAX(xW,xF, xP,Exec,Load,replOnStart,replOnEnd)

1- Div en donde colocar el resultado

2- archivo donde se envia por POST

3- los parametros (a=1&b=2)

4- codigo javascript a ejecutar cuando finalice la llamada ajax (estado = 4)

5- Texto q muestra mientras se realiza la llamada(loading…)

6- si es ‘0′ no reemplaza el contenido al principio

7- si es ‘0′ no reemplaza el contenido al final

Ejemplo:

<div id=”zonaDinamica”>Esperando al click…</div>

<a href=”#” onclick=”goAJAX(’zonaDinamica’,'a.php’,'a=2′,’alert();’);return false;”>Click aqui</a>

———

1-Al Hacer click, se reemplaza el contenido del div por el texto predeterminado de carga (loading…)

——

<div id=”zonaDinamica”>loading…</div>

—–

2- se envia por post a a.php con los parametros ‘a=2′, se supune que a.php imprime algo, cualquier cosa, que sera la respuesta

3- esa respuesta es colocada en el div y como finalizo ejecuta el codigo alert(). Esto ultimo es opcional, sirve para ilustrar la posibilidad de hacer sincronico el javascript asincronico.

Normalmente se necesitan solo los 2 o 3 primeros parametros.

admin Akisha RAD-AJAX

Refresh mental para entender akPaginar

Lunes, 2 de Febrero de 2009

La idea es tener un “listado paginado” ok?

Entonces uno configura las “cosas” necesarias con el array de parametros.
una de las cosas mas importantes es la funcion que procesa el item ( que define de 1 forma determinada )

la funcion devuelve un array con:

  1. el listado html generado
  2. las paginas con ventana por ejemplo 88 89 90 91 92 93 94 95 96 97
  3. los links de siguiente y anterior

Con eso se puede hacer lo que se quiere pero la idea es la siguiente:

funcion devolverListado($los_Parametros){
aca se configuran las ‘cosas’ y se llama a akPaginar
}

funcion procesarItem($a,$arr){
return akSimpleTemplate($r['akisha_template'],$r,”,”);
}

admin General

Tutotial de akPaginar.php

Lunes, 2 de Febrero de 2009

ejemplo reducido para entender akPaginar ejemplo extendido:

Vamos a crear una funcion “getListadoPaginadoYYY”  para que devuelva un string de la pagina actual de una lista de items procesados, con sus respectivos links de paginas, marcando la pagina actual y con ventana deslizante para no tener muchas paginas.

function getListadoPaginadoYYY($id){

$options['q']=”select * from tabla’”;
$options['template_href']=’articles-’.$_GET['id'].’-{pag}-bysection.html’; // Paginado SEO
$options['funcion']=’procesarItem’; // la funcion que va a recibir el array de valores y el tamplate para procesarlo
$options['template_item']=akCargarTpl(RUTA DEL ARCHIVO DEL ITEM);
$res=akPaginar($options);
$res['paginas']=’<span class=”prevNext”>’.$res['anterior'].’</span>’.$res['paginas'].’<span class=”prevNext”>’.$res['siguiente'].’</span>’;

return akSimpleTemplate(akCargarTpl(RUTA DEL ARCHIVO DEL ARCHIVO QUE CONTIENE {lista} {paginas}),$res,”,”);

}

/*  aqui se realiza el remplazo de los tags  Para añadir cosas especiales simplemente se construye lo que se necesite con $r['tag_personalizado']
*/

function procesarItem($b,$r){

$temp= akSimpleTemplate($r['akisha_template'],$r,”,”);
return $temp;

}

admin General

Funciones de akPaginar.php

Lunes, 2 de Febrero de 2009

entender akPaginar

Esta funcion sirve para generar listados paginados manteniendo siempre el mismo patron.

Las caracteristicas son:

La cantidad de paginas se muestra con tamaño de ventana, de manera predeterminada es 10 links por pagina. paginado con ventana deslizante

Se puede personalizar la apariencia de los links, incluso hacer listados paginados en ajax

Se personaliza el nombre de la funcion que procesara cara item, en cada llamada se pasa como parametro el item.

Explicacion simpleficada:

Para realizar un listado paginado se debe crear como minimo la funcion que procesara el item.

1- configuramos los parametros, como ser la consulta sql (sin limit x,y) incluyendo el nombre de la funcion que procesa cada item

2- definir la funcion de la siguiente manera:

function procesarItem($b,$r){
$temp= akSimpleTemplate($r['akisha_template'],$r,”,”);
return $temp;
}

El nombre de la funcion puede cambiar no asi los parametros, en $r se recibe la “fila” (registro, tupla) y se realiza el reeemplazo.

Aqui un tutorial de akPaginar

akishaakpaginarparams

admin General

Funciones de core.php

Lunes, 2 de Febrero de 2009

inc/akisha.rad/core.php

Funciones mas notables:

  • String akSimpleTemplate($tpl,$array,$inicio,$fin)
    • Busca en $tpl las claves de $array y las reemplaza con sus valores, añadiendo los delimitadores de $inicio y $fin.
    • Explicacion: si tenemos en el $tpl lo siguiente “hola <a href=”{url_user}”>{username}</a> como estas?”, en el array que le pasamos deberia existir las claves url_user y username. Si no se espesifica $inicio y $fin, se utiliza {}
  • String akCargarFile($file)
    • Devuelve el contenido del archivo.
  • Numeric dateFromString($str)
    • Obtiene un timestamp a partir de una fecha YYYY-MM-DD
  • String string2Url($string)
    • Devuelve un string con una serie de reemplazos para poder construir urls con texto, no es lo mismo que urlencode
  • Numeric Boolean isInside($aR,$element)
    • Comprueba si $element se encuentra dentro de $aR (array)
  • String akGetPath($path)
    • Busca hacia atras si la existencia de un archivo. Por ejemplo buscamos “inc/connect.php” y no lo encuentra, buscara “../inc/connect.php”;

Funciones menos notables:

  • String akCargarTpl($file)
    • akCargarFile con akGetPath
  • String akGetUrl($url)
    • carga el contenido de una url
  • String akGetLetras($Letra,$tpl_link,$tpl_letra)
    • devuelve un filtro por letras
  • Numeric akGetEdad($Date)
    • Recibe una fecha en formato YYYY-MM-DD y devuelve la edad
  • Void akCacheStart($cache_file,$vida)
    • Comprueba si $cache_file (ruta hacia un archivo unico de la peticion) es lo suficientemente joven ($vida en segundos) y muere si lo es o continua la ejecucion.
  • Void akCacheEnd($cache_file,$html)
    • Escribe $html en $cache_file
  • String array2str($ar)
    • imprime el contenido de un array en html.

admin Akisha RAD-PHP

Tutorial facil de AJAX

Sábado, 31 de Enero de 2009

Vamos a pensar en un escenario en donde se carga un contenido dinamico y el resulado se coloca dentro de un div, cuando se hace la llamada a un derminado archivo php, se coloca en un div el texto de carga y al finalizar se coloca la respuesta dentro del div.

Resumiento: colocar un contenido dinamico, en un div sin recargar la pagina.

Tutorial Akisha AJAX:

La funcion es asi:

goAJAX(xW,xF, xP,Exec,Load,replOnStart,replOnEnd)

1   2    3     4        5            6                         7

1- Div en donde colocar el resultado

2- archivo donde se envia por POST

3- los parametros (a=1&b=2)

4- codigo javascript a ejecutar cuando finalice la llamada ajax (estado = 4)

5- Texto q muestra mientras se realiza la llamada(loading…)

6- si es ‘0′ no reemplaza el contenido al principio

7- si es ‘0′ no reemplaza el contenido al final

Ejemplo:

<div id=”zonaDinamica”>Esperando al click…</div>

<a href=”#” onclick=”goAJAX(’zonaDinamica’,'a.php’,'a=2′,’alert();’);return false;”>Click aqui</a>

———

1-Al Hacer click, se reemplaza el contenido del div por el texto predeterminado de carga (loading…)

——

<div id=”zonaDinamica”>loading…</div>

—–

2- se envia por post a a.php con los parametros ‘a=2′, se supune que a.php imprime algo, cualquier cosa, que sera la respuesta

3- esa respuesta es colocada en el div y como finalizo ejecuta el codigo alert(). Esto ultimo es opcional, sirve para ilustrar la posibilidad de hacer sincronico el javascript asincronico.

Normalmente se necesitan solo los 2 o 3 primeros parametros.

admin General