JMiur [E]

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

16 comentarios:

Bardruck  

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

Responder
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!!

Responder
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

Responder
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.

Responder
JMiur  

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

Responder
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

Responder
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.

Responder
EmiTer  

Gracias por tu ayuda

Responder
 Rodrigo Michael  

:)

Responder
Francmi08  

Hola jMiur, es la primera vez que comento pero no la primera que uso alguno de tus trucos, y hoy tengo problemas con uno de ellos. He implantado este de las entradas en categoria pero como no me satisfacía lo he deshecho con los pasos al contrario, pero para no crear mucho rollo te cuento que al pinchar en una entrada esta me aparece doble, y antes no pasaba, echame un cable por favor,lo necesito....

Responder
Francmi08  

Me tienes que perdonar pero con el atrofio mental que tengo, se me olvidó poner la dirección del blog: http://canarias50lamil.blogspot.com
Lo siento, pero es que me está agobiando el no encontrar la solucion y ahora he visto que en la pagina principal, me aparecen todas las entradas repetidasssss, estoy de los nervios, perdoname..

Responder
JMiur  

Pués n oveo que eso tenga nada que ver con este truco ya que acá se coloca todo en un elemento HTML separado.

Lo que n oto es que en tu plantilla hay dos elementos Blog: Blog1 y Blog2 y por eso, las entradas individuales se duplican; debes elimianr el segundo de ellos desde la ventana de Diseño.

Responder
Francmi08  

Disculpa de nuevo,pero en la plantilla como lo encuentro para quitarlo tambien ,que parte de codigo he de quitar??y otra cosita, como puede haber aparecido ahi?? a causa de haber puesto que???Muchas gracias por tu ayuda,nos haces un gran favor con todas tus enseñanzas.

Responder
JMiur  

Lo pudes eliminar desde la primera pantalla de diseño tal como harías con cualquier gadget o bien desde la plantilla misma si sin expandirla, ves algo así como esta línea:

<b:widget id='Blog2' locked='true' title='Entradas del blog' type='Blog'/>

Seguramente hay dos con IDs diferentes: id='Blog1' e id='Blog2'

Lo debes haber agregado por algún motivo pero la razón la desconozco :D

Responder
Francmi08  

Bueno,las prisas y los nervios no traen nada bueno, ya está solucionado, despues de darle mil vueltas a la plantilla, leer mil veces tu mensaje he vuelto a hacerlo y me di cuenta que tenia la casilla de expandir marcada, asi que desmarcar, eliminar y arreglado, muchas gracias por todo,y te he puesto un enlace en mi blog como agradecimiento y porque sigo a menudo tu sitio, maestro.Gracias por todo.

Responder
JMiur  

Perfecto :D

Responder

¿Quiere dejar un comentario?

recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...

Todos los archivos y demos alojados en Fileden han sido redireccionados y deberían estar funcionando correctamente.
De todos modos, también puede accederse a ellos a través de SkyDrive

Nota: sólo los miembros de este blog pueden publicar comentarios.

Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.

Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...

 
CERRAR