Últimas entradas en una categoría

Si mezclamos la posibilidad de utilizar elementos condicionales con el servicio de Feed2JS, podríamos crear un widget en la sidebar que mostrase en las páginas individuales, una lista con las últimas entradas que tengan la misma etiqueta que el post.

Como no hay ninguna instrucción de Blogger que nos permita conocer las etiquetas de un post fuera del bucle que lo muestra, vamos a usar JavaScript para "guardar" ese dato y utilizarlo luego.

Lo primero que debemos hacer es colocar una línea en la plantilla; expandiendo los artilugios, buscamos el código correspondiente al bucle que muestra las etiquetas (arriba o abajo de los posts) y añadimos eso marcado en color:
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>
<script>
var etiquetasRelacionadas=&quot;<data:label.name/>&quot;;
</script>

<b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if>
</b:loop>
Simplemente, creamos una "variable" a la que llamamos etiquetasRelacionadas y donde guardamos el dato que nos devuelve Blogger en <data:label.name/> es decir, el nombre de una etiqueta.

Ahora, deberíamos agregar un elemento HTML que ubicaremos en la sidebar donde quisiéramos que se mostrase y allí, colocamos lo siguiente:
<script type="text/javascript">
var fuente = "http://feed2js.org//feed2js.php?src=http://nuestroBlog.blogspot.com/feeds/posts/summary/-/" + etiquetasRelacionadas + "&amp;chan=n&amp;num=10&amp;desc=0&amp;html=p&amp;date=n&amp;targ=y&amp;utf=y";
document.write('<script src="' + fuente + '"><\/script>');
</script>
Donde lo único que debemos cambiar es nuestroBlog.blogspot.com por la dirección de nuestro blog.

Lo que hará ese script es construir la dirección de los feeds de la etiqueta que siempre tiene la misma estructura:

http://nuestroBlog.blogspot.com/feeds/posts/summary/-/nombreEtiqueta

Y luego, creará una etiqueta SCRIPT y la escribirá en la página.

Por último, como esto sólo tendrá sentido en una página individual, deberemos volver a la plantilla, expandir los artilugios y modificar el elemento para que no se muestre en el resto de las páginas:
<b:widget id='HTMLX' locked='false' title='ETIQUETAS CONDICIONALES' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.pageType == "item"'>
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
<b:else/>
<style>#HTMLX {display: none;}</style>
</b:if>
</b:includable>
</b:widget>
En el ejemplo, sólo detectamos una etiqueta (esa es una limitación) pero, con alguna modificación podríamos "guardar" varias usando un array aunque no se me ocurre cómo podríamos utilizarlas verguenza

8 comentarios:

Bardruck

me encanto, buscaba algo así desde hace tiempo, te lo robaré, jaja

QuéOlorTiene

Gracias JMiur!!! Anoche estaba pensando en una solución de este tipo que capturara etiquetas para un post en una página individual, pero me ganó el sueño.

Utilidades?? Todo depende de la página, pero en mi caso desarrollé un bloque en javascript que lista en orden aleatorios unos 10 post que coincidan con un conjunto de etiquetas seleccionadas vía checkbox. Como mi blog es de perfumes, las etiquetas sirven para filtrar características de perfumes y con la idea que publicaste hoy puedo habilitar la posibilidad de mostrar todos los perfumes con las mismas características que el que está en pantalla.

Gracias!!

JMiur

Bardruck:
Feed2JS es realmente un servicio interesante y mientras exista, hay que sacarle provecho.

QuéOlorTiene:
Lo estuve viendo en tu blog. Suena muy interesante; ¿sería una forma de mostrar posts que coincidan con varias etiquetas?
No sabía que existiá la posibilidad de combinar las etiquetas; eso es una novedad y realmente amplia las posibilidades. Muy buen descubrimiento :D

QuéOlorTiene

Así es JMiur... en lugar de usar un array puedes concatenar las etiquetas separándolas con un slash "/". Así te queda algo parecido a:

http://nuestroBlog.blogspot.com/feeds/posts/summary/-/etiqueta1/etiqueta2/etiqueta3

que muestra los post que tengan al menos esas 3 etiquetas.

El código javascript que preparé toma de un array fijo 3 etiquetas al azar, las concatena y muestra una selección de post aleatorios. Con tu idea puedo reemplazar las 3 etiquetas al azar y usar como parámetro la concatenación de etiquetas que tiene el post. Así entrega información más precisa relacionada con lo que se está leyendo.

JMiur

Sí, eso vi exactamente cuando probé en tu blog, que basta separarlas con barras. Muy buen descubrimiento :)

EmiTer

Estoy intentando poner un widget con las ultimas entradas de mi blog, estoy utilizando para ello la pagina Feedasplush. Se me ve el resumen de las ultimas entradas, pero no se como hacer para que se vea la imagen que tengo al principio de la entrada y eso que al diseñar el widget active la opción de ver imagenes.
Alguna idea de que estoy haciendo mal, o de otro widget que sirva para ver el resumen de la entrada incluyendo la imagen que esta al principio de la entrada

JMiur

Algunos sistemas no leen los feeds de Blogger correctamente y suele haber problemas cono ciertas opciones. No creo que estés haciendo nada mal sino que simplemente Feedasplush no logra leer las imágenes.

A mi me gustó mucho el sistema de Wowzio; en este post están colocadas varios modelos y algunos de ellos muestran las imágenes de las últimas entradas, solas o combinadas con el texto.

¿Quiere dejar un comentario?

Utilice el formulario adjunto para comunicarse.

EL BOTÓN VISTA PREVIA NO FUNCIONA !!!

Agregar un comentario al viejo estilo ...