Campos
Contenido
Funciones para personalizar un campo
--Adam 15:07 21 nov, 2007 (CET)
Son funciones que sirven para personalizar la forma como se va a mostrar el contenido de un campo en la página web.
Procedimiento
1. Crear el archivo contenedor de funciones personalizadas usr_aliasfnc.php3 dentro de la carpeta /apc-aa/include donde /apc-aa/ es el nombre de la carpeta de instalacion de las AA (puede ser otro tambien)
2. Colocar dentro de ese archivo la función, por ejemplo
function usr_nombreusuario ($columns, $col, $param)
#ejem {alias:posted_by.......:f_u:usr_nombreusuario:}
{
$id=$columns[$col][0][value];
$result=mysql_query("select distinct name from users where id='$id'")
or die("consulta invalida");
while ($row=mysql_fetch_array($result))
{
return $row["name"];
}
}
3. La función captura los datos del usuario al indicarsele el id posted_by......., para ejecutarlo desde una vista o desde la ventana de administracion se la pone asi
{alias:posted_by.......:f_u:usr_nombreusuario:}
Ver más funciones personalizadas
Cómo se pasan parámetros a una función personalizada
--Adam 15:08 21 nov, 2007 (CET)
Muchas veces las funciones para cada campo nos quedan cortas y no nos queda mas remedio que desear hacernos una a la medida. Si se sabe algo de php es algo sencillo armarse una, el problema comienza cuando queremos pasar un parametro. Lo que sucede es que las AA incluyen al nombre de la funcion personalizada como parte de la variable parametro ($param). Por ejemplo si uno configura su campo asi;
Alias 1: _#MENU____ Función: f_u - definida por el usuario Parámetros: usr_explode:>:1 Descripcion: Esta funcion sirve para dividir una cadena en varias partes separadas por el signo > y para tomar el segundo valor de las cadenas divididas
Uno podria pensar que el valor de la variable $param es >, pues no, el valor de la variable $param es TODA la cadena incluyendo el nombre de la funcion," usr_explode:>:1 ", subrayo,toda la cadena. Una vez descubierto esto, es facil darse cuenta que la captura de los parametros que quisieramos pasar depende de que usemos funciones nativas en php para extraerlos como la funcion split por ejemplo
Aqui les comparto el codigo comentado de una funcion que programé para separar una cadena en varias parte separadas por el simbolo >, como pueden ver puedo pasar tambien el valor de 1 para indicar que solo quiero trabajar con la segunda cadena separada (la primero es 0). Uno puede pasar todos los parametros que quiera.
<?php
function usr_explode ($columns, $col, $param)
{
$extrae_param = split(":",$param); // extrayendo el parametro
$cadena = html_entity_decode($columns[$col][0][value]); // Convertir
todas las entidades HTML
$trozos = explode($extrae_param[1],$cadena); // partimos la cadena
$posicion = $extrae_param[2]; // extraigo el parametro que me indica
el nivel del submenu
return $trozos[$posicion];
}
</code>
?>
Ejemplos de funciones personalizadas
--Adam 15:08 21 nov, 2007 (CET)