logo El diario de Pepe Molina (Caricatos)

yo

A medida que vamos visitando las distintas páginas del diario (empiezan a ser muchas), notamos como se va incrementando el historial de navegación que tenemos a pie de página.


Última caricatura

Andrés Iniesta: Futbolista español. En la actualidad juega en el Barcelona.

Andrés Iniesta

RSS de las imágenes: rss


La Cita

Las personas cambian y generalmente se olvidan de comunicar dicho cambio a los demás

Lillian Hellman, dramaturgo estadounidense (1905-1984).


En esta zona están las páginas personales del autor.


Mis clientes ahora también son mis amigos (aunque les cobre).


En Mis amigos Informáticos hay una pequeña colección de páginas de colegas webmasters..


En Mis amigos artistas podemos encontrar artistas de cualquier índole (dibujantes, pintores, escritores...)


Las recomendaciones que proponemos son de índole variada.


Aquí un cajón de sastre de enlaces.


Nos referencian desde sitios de toda índole.


Puede contribuir a mantener esta página con su donativo.


botón pay-pal

Este diario: filtrando historial de navegación

emoticón de Caricatos Publicado el día 18 de febrero de 2012
id=72; categorías: Vicisitudes de un Webmaster, Programación

A medida que vamos visitando las distintas páginas del diario (empiezan a ser muchas), notamos como se va incrementando el historial de navegación que tenemos a pie de página.

Ya habíamos comentado la gestión de esa lista en el apunte: "Este diario: Historial de navegación", y vimos que se trata simplemente de una variable de sesión de tipo array (arreglo) cuyo índice se incrementa con cada nueva visita; también llevando el control de las posibles duplicidades.

Hemos aprovechado nuestro nuevo sistema de complementos para utilizar uno para eliminar los que no nos interesa tener en la lista del historial; podiéndose usar desde un enlace al complemento, o desde el propio listado que se ve a pie de página, donde hemos puesto unos controles de selección y un botón para tal fin programado con Ajax.

Turno de códigos

La verdad es que hay poco código para mostrar, pero hay va el listado:

function navegando($item)	{
	list ($_t, $_p, $_n) = split("=", substr($item, 1));
	list ($__t, $__p) = split("&", $_p);
	$coletilla = ($_n == "") ? "": " [$_n]";
	if ($__t == "vistos")
		$__t = "Los más vistos";
	else
		$__t = urldecode($__t);
	$coletilla = (in_array($_t, array("mostrar", "titulo"))) ? "": "($_t)";
	$coletilla.= ($_n == "") ? "": " [$_n]";
	return "$__t $coletilla";
}

if (isset($_SESSION["historico"])) {
	$listado = array();
	for($i = 0, $total = count($_SESSION["historico"]); $i < $total; $i++)	{
		$h = $_SESSION["historico"][$i];
		if ($h != "")	{
			$item = "<label> <input type='checkbox' name='h[]' value='$h' checked='checked'/> ";
			$item .= navegando($h)."</label>";
			array_push($listado, $item);
		}
	}
	$lista = implode("<br/>\n", $listado);
	$form = <<< formulario

<form action='?plugin=modificar_historial' method='post' >
$lista

<br/>
<br/>
<button type="submit">Actualizar historial</button>
</form>

formulario;

}

Sobre el código podemos ver que simplemente se trata de un formulario con el listado de páginas visitadas acompañadas de un botón de envío del mismo (hemos obviado los elementos estéticos del mismo), pero si bien es sorprendente la sencillez del código, más sorprendidos estaremos viendo el código receptor del formulario:

if (isset($_POST['h']))
	$_SESSION["historico"] = $_POST['h'];
else
	$_SESSION["historico"] = array();

Me encanta cuando mostramos código sencillo y útil (al menos para quien piense implementar un sistema de páginas visitadas como en nuestro diario).

El toque "Ajax"

Desde el complemento faltaría en el código un simple redireccionamiento al listado de complementos u otro sitio que se nos ocurra oportuno, pero con ajax debemos mantenernos en la misma página así que debemos hacer una última discriminación. Creo que mostrando el resto del código tendría que ser suficiente:

if (isset($_POST["ajax"]))	{
	unset($body);
	unset($css);
	echo "Ok";
}
else
	header("Location: ?plugin=listado_plugins");

¡Sí!, en la página principal con el envío enviamos también el parámetro "ajax", y no importa con que valor. Por semántica hemos puesto "ajax=si", aunque con un valor "no", evidentemente también nos serviría.

Zona de comentarios

Este apunte aún no tiene comentarios.

Evaluación

Valoración de esta página: (apunte.72) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Historial de navegación

Esta página ha sido visitada en 2391 ocasiones


Disponemos de rss sindicar

Y del Mapa del sitio, además del sitemap.xml.


Aquí podemos encontrar los apuntes más visitados.

"Top 10" reemplaza a la sección Últimos apuntes.


Una buena forma de buscar un apunte es a partir de su categoría.


También es posible buscar apuntes por medio de las etiquetas (tags).


Hemos decidido poner al alcance de todos algunos comodines.

Adjuntamos una versión reducida del "buscador interno" que vemos en la lista anterior:

Buscar en apuntes

También estamos recopilando antiguas páginas del sitio.


Desde este recuadro se puede hacer una búsqueda cronológica.


Se puede crear una postal nueva desde el enlace del sector "Otras páginas del dominio", o editar la que sale en el recuadro, pulsando sobre ella..

http://www.pepemolina.com/postales/Fondos/santa.gif
http://www.pepemolina.com/postales/animales/gato8t.gif
Feliz Navidad
Feliz Navidad
enlace a la postal
Copyright © 2002-2017 www.pepemolina.com
RSS rss | Ver Mapa del sitio