Estas que hay a continuación, son un ejemplo y refrescando podreis comprobar que cada vez salen unas entradas distintas:
La implantación es muy sencilla, como casi siempre.
Desde Elementos de Página añadimos un nuevo gadget tipo HTML/JavaScript y allí pegamos lo siguiente:
<div id="random-posts">
<script type="text/javascript">
function getRandomPosts(json) {
var maxEntries = 10;
var numPosts = json.feed.openSearch$totalResults.$t;
var indexPosts = new Array();
for (var i = 0; i < numPosts; ++i) {
indexPosts[i] = i;
}
indexPosts.sort(function() {return 0.5 - Math.random()});
if (maxEntries > numPosts) {
maxEntries = numPosts;
}
var container = document.getElementById('random-posts');
var ul = document.createElement('ul');
for (i = 0; i < maxEntries; ++i) {
var entry = json.feed.entry[indexPosts[i]];
var li = document.createElement('li');
var a = document.createElement('a');
a.title = entry.title.$t;
for (var j = 0; j < entry.link.length; ++j) {
if (entry.link[j].rel == 'alternate') {
a.href = entry.link[j].href;
break;
}
}
a.appendChild(document.createTextNode(entry.title.$t));
li.appendChild(a);
ul.appendChild(li);
}
container.appendChild(ul);
}
</script>
<script src="http://NOMBRE_DE_TU_BLOG.blogspot.com/feeds/posts/summary?alt=json-in-script&callback=getRandomPosts&max-results=999" type="text/javascript"></script>
</div>
<script type="text/javascript">
function getRandomPosts(json) {
var maxEntries = 10;
var numPosts = json.feed.openSearch$totalResults.$t;
var indexPosts = new Array();
for (var i = 0; i < numPosts; ++i) {
indexPosts[i] = i;
}
indexPosts.sort(function() {return 0.5 - Math.random()});
if (maxEntries > numPosts) {
maxEntries = numPosts;
}
var container = document.getElementById('random-posts');
var ul = document.createElement('ul');
for (i = 0; i < maxEntries; ++i) {
var entry = json.feed.entry[indexPosts[i]];
var li = document.createElement('li');
var a = document.createElement('a');
a.title = entry.title.$t;
for (var j = 0; j < entry.link.length; ++j) {
if (entry.link[j].rel == 'alternate') {
a.href = entry.link[j].href;
break;
}
}
a.appendChild(document.createTextNode(entry.title.$t));
li.appendChild(a);
ul.appendChild(li);
}
container.appendChild(ul);
}
</script>
<script src="http://NOMBRE_DE_TU_BLOG.blogspot.com/feeds/posts/summary?alt=json-in-script&callback=getRandomPosts&max-results=999" type="text/javascript"></script>
</div>
Antes de Guardar, cambiamos NOMBRE_DE_TU_BLOG por el propio. Una vez salvado, ya podemos moverlo a otra posición de la barra lateral o a otra ubicación.
El valor de var maxEntries = 10; es el que determina el número de entradas a mostrar y por tanto, el que habria que cambiar para mostrar más o menos entradas.
Creando el ID random-posts y las clases para listas correspondientes, podremos personalizar la apariencia de salida. Esto ya habría que insertarlo en la plantilla, antes de b:/skin. Para ponerlo en el propio gadget, habría que hacerlo entre las etiquetas <style type="text/css"> y </style>
#random-posts {
/* Estilo general */
}
#random-posts ul {
/* Estilo general de la lista */
}
#random-posts ul li {
/* Estilo general de cada elemento de la lista*/
}
/* Estilo general */
}
#random-posts ul {
/* Estilo general de la lista */
}
#random-posts ul li {
/* Estilo general de cada elemento de la lista*/
}
¿Vemos otro post al azar por si le encuentras utilidad o quizás prefieres ser más metódico y suscribirte a nuestras entradas por correo? También puedes imprimir este artículo y por supuesto compartirlo en redes sociales si fue de tu agrado.
Hola!!!!!!!!
ResponderEliminarQue el 2010 sea tu mejor año, y seguro que todo depende de vos, poniéndote metas claras y haciendo todo para cumplirlas…..
Un abrazo de oso.
Los deseos son recíprocos Común. Un saludo.
ResponderEliminarOloman!! Gracias por el interés, si que he visto la respuesta, pero quiero hacerlo con tiempo, que me cuesta... después de reyes lo miraré. Si lo preguntñe en varios sitios ;)
ResponderEliminarMuchiiisimas gracias!!!
Besitos y Felices Reyes!!!
Gracias por toda la ayuda que nos prestas, acabaremos haciendo algo en condiciones, blogger mediante.
ResponderEliminarSaludos y buen 2.010 !
Siempre se aprende algo nuevo...:)
ResponderEliminarHola!!!
Tengo un problema y noce si ese problema ya lo abran posteado en el blog..Se trata de un gadget de picasa para mostar las ultimas fotos que subo a mi blog o albunes de picasa pero el problema es que funciona mal en muchos blogs los primeros dias va todo bien y despues deja de mostar las fotos nuevas y se queda ahi.. Tienes alguna solucion? o gadget para renplazarlo??
Desde ya Gracias y Suerte!! :)
Feliz 2010 oloman gracias por tu ayuda
ResponderEliminarYo también me adhiero a los saludos...
ResponderEliminarFeliz comienzo de año Oloman.
Tengo una consulta:
Tengo un problema con el favicon de uno de mis blogs (http://a4000.blogspot.com/)Ya no aparece mi favicon sino el de Blogger. Al principio salía normal, ahora ya no.
Empezó desde que incluí el widget que permite mostrar otros blogs actualizados (Feed)
¡Quiero ver mi favicon!
:)
Creo que es posible hacer los mismo, pero con una etiqueta en concreto, ¿verdad? Es cambiar lo que hay antes del interrogante en:
ResponderEliminar<script src="http://NOMBRE_DE_TU_BLOG.blogspot.com/feeds/posts/summary?alt=json-in-script&callback=getRandomPosts&max-results=999" type="text/javascript"></script>
por
http://NOMBRE_DE_TU_BLOG.blogspot.com/feeds/posts/default/-/ETIQUETA
Voy a probar a ver si me sale.
Vale, funciona perfectamente, es posible hacerlo por etiquetas también.
ResponderEliminarLo que pasa es que no lo he hecho todavía en el blog bueno, sino en uno de pruebas, pero funciona.
** Encar **, nada, nada... a tu ritmo :)
ResponderEliminarBlogger mediante, Agente Mulder, Blogger mediante ;). Gracias y te deseo lo mismo.
Bilosony2™, los dos únicos sistemas que conozco con Picasa, son este y este.
Anónimo, no hay de qué y también un feliz año para tí.
Felicidades Reyqui. No sé que es lo que pasará, pero yo sí lo veo: un cuadrado dividido en cuatro con colores rojo y azul y con una R en el centro.
José GDF. Siempre aportando ideas y detalles. Muchas gracias por la observación.
Hola !
ResponderEliminarCasi nunca escribo pero siempre entro, aunque no incluya muchas de las cosas que aki nos enseñas, hoy, te lo agradezco multiplicado por 2, una, porque soy asiduo lector (ya lo haia dicho, no?) y la otra, que ahora SI incluí tu recomendacion :D y me gusto!....
Gracias nuevamente, gustazo siempre el entrar aqui!
Bueno, yo tampoco tengo incluidas todas las cosas sobre las que he escrito. Están para usarse cuando hacen falta, ni antes, ni después. Un saludo.
ResponderEliminarmuy bueno, para algo servira en mi blog, una vez mas gracias por la ayuda que nos brindas, Saludos!!!
ResponderEliminarParecía complicado, pero probé y funciona de lo lindo.
ResponderEliminarSaludos Oloman.
¿Cómo puedo poner un buscador de post al azar como el tuyo? He utilizado el buscador y no aparece nada.
ResponderEliminarEl mail de mi blog es:elartedelafotografiajavierlota@yahoo.es
GRACIAS
Hola Javierlota.
ResponderEliminarEl buscador que hay aquí muestra resultados "normales" de búsqueda. Seguramente te refieres a sacar UNA entrada al azar.
Si es eso, en el enlace lo tienes. Un saludo.
Hola Oloman: ¡Feliz año!
ResponderEliminarEstoy probando en mi test-blog un truquillo que encontré en Templates Novo Blogger (http://templatesparanovoblogger.blogspot.com/2009/08/isfirstpost-exemplo-2.html) para resaltar el primer post de la página inicial -o sea, el último que se publica- y me ha quedado de vicio (aunque he tenido que apañarle alguna cosuca, je!) y me quedaría mejor si pudiera presentar el post con el consabido "Leer más" ya que normalmente mis entradas son largas.
En la entrada de prueba le coloqué el leermás de blogger, pero no se ve enlace donde clikar para seguir leyendo :( y entonces ya me hice el lío, por el que te hago la consulta. ¿Qué puedes aconsejarme?
De antemano, gracias por tu generosidad.
Is mise: Mujerárbol en blog de pruebas http://porprobar3.blogspot.com/
Si haberlo visto muy a fondo, la cosa parece que trata de crear una clase distinta (first) e incluir esta clase mediante un condicional para el primer post.
ResponderEliminarEl sistema de Blogger no lo conozco, pero me suena que hay que ponerlo manualmente en todos los posts. Por otra parte, me ha parecido ver que usas el mismo sistema que yo para hacer los posts resumidos. ¿Por qué no pruebas a meter esto último dentro del condicional para el FirstPost? Sin borrarlo de su ubicación original, lo copias aquí también.
Creo que puede funcionar, pero no lo puedo ver porque el código ya sale interpretado.
¡Horrores fritos, Oloman! en el test-blog ha salido estupendamente tal como me decías, pero en el definitivo... nooor. Debo haber metido la patuca en algo, porque me sale un mensaje de que un "head" no tiene cierre, y no encuentro donde está el fallo. Me temo que tendré que cargar la plantilla original (tengo copias, uff).
ResponderEliminarGracias por tu interés, de todos modos. Grrandeee.
Por supuesto: la que está frita es la de la pregunta 17, M.A.
ResponderEliminarEstoy viendo que, al introducir los nuevos códigos, Blogger se los adapta por su cuenta, y de ahí que hayan desaparecido cosas inexplicablemente. No he sido yo quien las ha quitado sino ELLO mismo... ayss, que latas.
Bueno: me consuela ver que la clase FirstPost ha quedado Okis, pero no hace caso a los estilos que le he puesto; y además persiste el problema de que no consigo que aparezca resaltada
Eeen fin.
http://mjarb.blogspot.com/
No sé si has puesto el código del FirstPost, pero en este último blog que me has puesto, lo que seguro que no hay es clase "first" alguna. Así es imposible que coja el estilo.
ResponderEliminar... No, era en el anterior, donde me quedó estupendamente.
ResponderEliminarEn mjarb entre los cambios que hace la plantilla blogger al guardarse y algún error que sin duda cometí no me salió, hice un buen lío (con avisos de error q no supe arreglar) y tuve que cargar la plantilla de nuevo. Por cierto: me sorprendió que, al cargar desde una copia de hace pocos días, no se me fue ningún widget, ¿es eso normal?
Volveré a intentar lo del First en otro momento. Gracias de todos modos, por tu interés y forma de enseñar.
Sí es normal, porque la plantilla almacena también los espacios y los nombres de los gadgets, así que cómo coincidían con los que tenías actualmente, se trasvasaron bien.
ResponderEliminarEl problema surge cuando la plantilla guardada tiene por ejemplo 4 gadgets y tú actualmente tienes 6 y además tres de ellos son distintos a los que había en la plantilla guardar ¿Donde meter tantos y cómo insertar los tres nuevos? Pues de ninguna manera. Ahí es cuando la cosa se fastidia.
¿Cómo puedo poner esto como tú?
ResponderEliminarOloman © 2009
Basado en un diseño de Evan Eckard © 2008,
bloguerizado por GosuBlogger
Aviso legal. Política de privacidad.
Depende de tu plantilla. Es sólo un texto con enlaces. En un principio se puede colocar en un gadget HTML/JavaScript que luego tendrías que mover justo debajo del cuerpo de las entradas.
ResponderEliminarOtra manera es insertando el código directamente en la plantilla. Necesitaría tu URL para una mayor concreción.
Buenas... Me gustaría poner delante de cada frase, de cada título de las enradas un guión o un punto para diferenciarlos un poco. ¿Cómo lo puedo hacer?.
ResponderEliminarMuchas gracias
Hola
ResponderEliminarTendrías que añadir a la parte del estilo los ID que se dan en la última parte del post. Desde allí podrás configurar las listas (UL, LI) para que salga algo delante, según se explica en este otro post.
NO me funciona, que lastima, tengo tiempo buscando este gadget y da error
ResponderEliminarEse mismo código está ahora funcionando en el post, por lo que debe estar bien. Sólo tienes que copiarlo y cambiar lo marcado en verde por la dirección de tu blog.
ResponderEliminarUn saludo.
Muy buen gadget, me ha gustado mucho, ya que quizas asi se pueden encontrar entradas que los usuarios nunca han visto. Ya lo agrege a mi blog ^^.
ResponderEliminarBendiciones!
Esa es la idea Reggae Soul.
ResponderEliminarGracias por el tip pero como lo pongo en una entradA? quiro tener una entrada a parte para mostrar entradas aleatorias.
ResponderEliminarGracias!!
Hola.
ResponderEliminarEn una entrada es igual, solo que tendrás que quitar los saltos entre línea y línea del código. Es decir, hay que escribirlo todo seguido sin pulsar intro para diferenciar líneas. Así está puesto aquí.
Hola Oloman
ResponderEliminarExcelente post, solo una cosilla como puedo borrarle el punto inicial a cada entrada..
Saludos
En la parte final se indican las clases que configuran el aspecto de la lista. Sólo tendrías que añadir a la última
ResponderEliminarlist-style-type:none;
¿Hay alguna forma de que no se muestren entradas de alguna etiqueta concreta? Es decir, si por ejemplo tengo tres etiquetas, que las entradas al azar que se muestren sean sólo de dos de esas etiquetas pero no de la otra...
ResponderEliminarSólo conozco una manera y es justo al contrario de la que propones. Sabría hacer cómo mostrar una sola etiqueta y es cambiando el feed que termina en SUMMARY por otro como este:
ResponderEliminarhttp://NOMBREBLOG.blogspot.com/feeds/posts/default/-/ETIQUETA
Supongo que si lo haces dos veces con etiquetas distintas, podrías mostrar esas dos que dices y excluir la otra. Lo aconsejable sería reducir el número de enlaces a mostrar a la mitad para cada una.
Sí, eso ya lo había visto en los comentarios anteriores... pero si en lugar de las tres del ejemplo son 41, esa solución ya no es tan útil... :)
ResponderEliminarGracias, de todos modos
Efectivamente, no es nada útil en ese caso, pero como decía, no se me ocurre otra manera. De todas formas, tampoco sería muy normal tener 41 etiquetas ;)
ResponderEliminarGenial el aporte, crees que exista la forma para que la lista muestre tambien una imagen y una breve descripción de la entrada, estoy estaria mejor que las entradas relacionadas, gracias por tu ayuda
ResponderEliminarFuego, eso no está a mi nivel todavía. Para mí, lograr hacerlo sería de nota :D
ResponderEliminargrandioso Oloman, me fascino pero como dice fuego quedaria bien una imagen en forma de icono pequeño :D Saludos!!
ResponderEliminarTengo un problema porque no se me encaja bien en el blog, tengo 3 veces el gadget para 3 etiquetas distintas, pero me aparece el simbolo de editar debajo de cada uno y queda muy mal, parece como si el ancho no entrase.
ResponderEliminarComo podría hacer que este gadget solo entuviese en la portada?
ranhada.blogspot.com
Muchas Gracias
Nando, el problema realmente es que por un motivo que desconozco, has puesto este código de más, que es el que genera esos símbolos.
ResponderEliminar<img alt="" src="http://img1.blogblog.com/img/icon18_wrench_allbkg.png" width="18" height="18">
Realmente no funcionan. Sólo es una imagen.
No obstante si quieres verlo sólo en la portada, tendrías que usar condicionales. En el buscador podrás encontrar un post con su uso.
Pues la verdad es que no se porque fue. Lo volvi a copiar y ya me funciona. Muchas Gracias!!!!!
ResponderEliminarAhora tengo otro problema, le meti los condicionales que tienes en el post, pero el problema es el título, que me da problemas, si borro todo no me aparece el título del gadget y si no lo borro pues me aparece en las entradas tambien. ¿?
Nando, se podría hacer de otra manera, pero lo más fácil es no poner título al gadget y escribir el texto correspondiente como parte de este código. Sería simplemente escribiendo al principio del todo.
ResponderEliminarMuchas gracias Oloman me estas ayudando un monton.
ResponderEliminarEs una buena idea lo de poner el titúlo pero como le cambio luego el tipo de letra y el tamaño? si no no resalta.
Lo puedes meter dentro de un DIV con una etiqueta STYLE en la que le des estilo:
ResponderEliminar<div style="font-size:14px;font-weight:bold;">
CODIGO GADGET
</div>
Lo Ultimo ya para que me quede perfecto.
ResponderEliminarMe gustaría que cuando pinche en el enlace aleatorio se abra una nueva ventana, como lo hago?
Nando, para eso ya hay que modificar el script, por lo que tendría que ponerme a experimentar. JavaScript con json no es mi fuerte, por lo que me llevaría demasiado tiempo darte el código bueno. Todo esto te lo comento porque no me importa currar en cosas de interés general, pero en mi opinión, ni es útil ni bueno, obligar a los usuarios de una página a abrir los enlaces en una nueva ventana --> http://goo.gl/1AaJb
ResponderEliminarOk, la historia es que mi blog es de recetas, entonces con entradas aleatorias hice un menu del día, lo bueno sería que estas entradas cambiaran solo cada día, supongo que eso es imposible, por eso quería que por lo menos cuando pinchen en un plato del menu se abriese otra ventana para que siguiesen viendo el menu en la otra, si no al volver el menu ya cambio.
ResponderEliminarAhora entiendo Nando, pero realmente tu problema no es la ventana nueva. Yendo al origen de las causas, en tu caso es el propio gadget, puesto que tú lo que necesitas es otra cosa y con esto hiciste un apaño.
ResponderEliminarNo se me ocurre como mostrar una lista aleatoria y que esta permanezca todo el día invariable, si no es mediante una base de datos dónde se guarde diariamente, cosa de la que no disponemos en Blogger.
Este comentario ha sido eliminado por el autor.
ResponderEliminarBuenas Oloman, enhorabuena por el blog y los contenidos, de lo mejor de Internet. Quería hacerte una consulta y no se si esta es la entrada apropiada pero es la más parecida que he encontrado... Quiero que las entradas de mi blog aparezcan ordenadas de forma aleatoria, es decir, no colocadas de más modernas a más viejas, es eso posible?
ResponderEliminarVoy a ser breve... no.
EliminarBueno, no me gusta ser tan taxativo. Yo creo que no porque nunca he visto nada parecido. Lo único que se me ocurre y requeriría javascript, sería que después de mostrar una página con varios, se reordenaran aleatoriamente, pero en cada página saldrían siempre los que tocan, no otros.
Ok perfecto, me lo imaginaba porque no había encontrado nada al respecto. Muchas gracias de todas formas, se quedará así.
EliminarHola Oloman, quiero utilizar este truco pero en las entradas. Mi idea es copiar el primer script en la plantilla y colocar manualmente el que escribe las entradas en cada post. Pero no lo logro. Quisiera saber como es la manera correcta de hacerlo.
ResponderEliminarSaludos.
La manera es copiando y pegando el código de este artículo, tal cual lo ves, en tu entrada. Luego tras la etiqueta de apertura SCRIPT, añades esto //<![CDATA[ y justo antes de la de cierre, esto otro //]]>
EliminarCon esos símbolos el intérprete no se lía y te ejecuta eso como código. Pero ojo con la pestaña que utilizas, porque esto no se puede pegar desde REDACTAR, sino sólo desde la de HTML. Por otra parte, cuando grabes la entrada, si posteriormente la vuelves a editar, a veces el código JavaScript aparece con saltos de línea que no debería tener y casca el invento. A mí me pasa cada dos por tres.
El CSS ya lo colocas dónde quieras, en la plantilla o en la misma entrada. En este último caso, habrás de meterlo entre etiquetas STYLE.
Hola, lindo blog, me sirvió el código que muestra entradas al azar, pero mi pregunta es si se puede señalar solo algunas entradas que se muestren al actualizar, no todas. ¿Como se hace, que le modifico alguna id o etiqueta?
ResponderEliminarHola Jonatan. Lo que tendrías que hacer en primer lugar sería etiquetar todos los posts susceptibles de salir en esa lista con una etiqueta específica para ello, por ejemplo "azar". También puedes usar una pre-existente si te cuadra la cosa.
EliminarLuego, en lugar de la dirección http://NOMBRE_DE_TU_BLOG.blogspot.com/feeds/posts/summary que figura en el código tendrías que usar esta otra
http://NOMBRE_DE_TU_BLOG.blogspot.com/feeds/posts/default/-/NOMBRE_DE_LA_ETIQUETA