Solrac prometió estudiar el asunto y buscar una solución y aquí está:
Link con título completo del post anterior y posterior
Todo se basa en usar JSON (JavaScript Object Notation), algo que aún escapa a mi entendimiento pero que parece funcionar correctamente.
Lo primero que debemos hacer es descargar el script correspondiente al que alojamos en un servidor propio.
Ahora, debemos ir a la Plantilla, Edición HTML y luego de hacer el backup correspondiente, Marcar la opción Expandir elementos y agregar el script, por ejemplo, justo antes de </head>:
<script src='URL_archivo/buscar_post_v0r1.js" type="text/javascript"/>
<b:includable id='nextprev'>
<div class='blog-pager' id='blog-pager'>
<b:if cond='data:newerPageUrl'>
.......
</b:if>
<b:if cond='data:olderPageUrl'>
.......
</b:if>
<b:if cond='data:blog.homepageUrl != data:blog.url'>
.......
</b:if>
</div>
<div class='clear'/>
</b:includable>
<b:includable id='nextprev'>
<div class='blog-pager' id='blog-pager'>
<script src="http://nombreBlog/feeds/posts/default
?alt=json-in-script&callback=buscarpost">
</script>
<b:if cond='data:blog.homepageUrl != data:blog.url'>
.......
</b:if>
</div>
<div class='clear'/>
</b:includable>
Eso es todo, el script es relativamente sencillo de entender de tal manera que puede adaptarse a nuestras necesidades y además, está muy bien documentado, explicando cada detalle. Puede verse el código AQUÍ.
Por ejemplo:
// Número máximo de post a buscar
max_post=100;
La parte final del es la que "escribe" el resultado y, de ser necesario, es la que deberemos modificar para que se adapte gráficamente a nuestra plantilla:
if (ant_posturl != '') { /* Solo escribimos */ entry_ant_post = '<br /><span id="blog-pager-newer-link"> <a href="' + ant_posturl + '" title="' + ant_posttitle + '" class="blog-pager-newer-link">« ' + txt_anterior + ' « ' + ant_posttitle + '</a></span>'; document.write(entry_ant_post) } if (pos_posturl != '') { entry_pos_post = '<br /><span id="blog-pager-older-link"> <a href="' + pos_posturl + '" title="' + pos_posttitle + '" class="blog-pager-older-link">' + pos_posttitle + ' » ' + txt_posterior + ' »</a></span><br />'; document.write(entry_pos_post) }
14 comentarios:
Gracias J ;)
Por cierto, ¡veo que aún no lo utilizas! :|
Gracias a ti y muy buen trabajo.
Lo probé sin inconvenientes pero el problema que tengo acá es justamente la limitación en el número de posts que puede manejar JSON. Hasta ahora, no encuentro la forma de resolver esto.
¿Alguna idea?
Saludos JMiur, descubrí tu blog hace algunas semanas y desde entonces lo visito a regularmente en busca de cosas nuevas.
Quisiera saber si existe alguna novedad con respecto a este tema de los títulos en la navegación, he buscado en la web pero la verdad no encuentro nada :(
Por otro lado -y abusando un poco-, también me gustaría que hicieras un post para personalizar los resultados devueltos al usar un buscador sencillo, es decir, para que no se vea toda la entrada sino sólo el título de post o una miniatura, etc.
Bueno pues de antemano gracias y felicidades por vagabundia, ¡gran blog!
No, sobre el tema, no hay nada nuevo. Los feeds siempre están limitados a cierta cantidad de entradas.
En cuanto a los buscadores; si usas el buscador Ajax que se agrega como gadget, quizás se pueda personalizar un poco aunque no sé si sería conveniente que no se mostrara un poco de texto. Ese es el buscador que utilizo acá.
El otro que puedes personalizar es el buscador llamemoslo normal que muestra las entradas completas de manera similar a cuando se muestran las etiquetas. En ese caso, deberias utilizar algún sistema para resumir entradas pero se hará mucy complicado o imposible diferenciar las pa´ginas de resultados de búsqueda de otras ya que todas usan el mismo tipo de URL..
J, esto está realmente muy bueno. Grandioso el trabajo de Solrak y tuyo.
Una pregunta, si yo quisiera colocar los links de entrada anterior y entrada siguiente debajo del título de lo posts condicionándolo en las páginas individuales.
Imagino que para mostrar debería escribir el div, pero no ubico en el script cual sería, cual sería también el CSS para darle forma a cada link. ¿Me podrías dar una mano?
Espero ansioso la respuesta, un abrazo.
No hay CSS, en este ejemplo, se usan las mismas clases que la navegación de Blogger.
Ok. El CSS después lo veré.
¿Qué debería colocar debajo del título para mostrar ambos links?
Gracias!
No estoy muy seguro de cuál es la pregunta. Lo que se muestra acá es un reemplazo de la navegación de Blogger así que si se quiere que esa navegación se muestre arriba; basta colocar esto:
<b:include name='nextprev'/>
Por ahí entendí mal el post.
Se supone que este script reemplaza la navegación de blogger que cuando hacemos en vez de mostrar la páginas más antigua o recientes muestra LA ENTRADA más antigua o más reciente. ¿Esto es así?
Lo que estoy interesado en saber es de que forma se puede mantener la navegación común de Blogger y debajo del título de los post, por ejemplo, colocar el link que diga ENTRADA ANTERIOR , ENTRADA SIGUIENTE.
No se que debería editar para mantener la navegación y darle un toque de CSS a esos links .
:D
Aclaro por las dudas que el script reemplaza la navegación de Blogger de las páginas individuales mostrando el título de esas entradas en lugar de un texto cualquiera.
Eso, sólo es posible en entradas individuales, en el resto no porque no hay una entrada sino varias así que lo que hay son páginas anteriores y posteriores con cierto número de entradas.
Ah ok. Entonces si funciona en las entradas individuales.
¿Se podría condicionar para que "b:include name='nextprev'/" (se supone que ese es el link) se muestre debajo del título únicamente en las entradas individuales y en el home se muestre debajo como siempre?
De esta forma, se vería en la entrada individual un link que muestre el título de la entrada anterior y el título de la entrada siguiente
Por último un ejemplo de esta idea surge de esta web:
http://alt1040.com/2012/02/universidad-de-cambridge-desarrolla-celulas-cerebrales-celulas-de-la-piel
FIjate que dice ANTERIOR, hacés click y te muestra la entrada anterior a la que se ve. :D
En Blogger funciona igual. Anterior y Siguiente en una página individual abren esas entradas. El script, lo único que hace es mostrar el título de esas entradas en lugar de un texto fijo.
El problema es que ese título, no siempre es idéntico al título real; por ejemplo, carece de caracteres acentuados u otros especiales; incluso, en esa época, cuando se hizo el script, Blogger eliminaba esos caracteres de la URL en lugar de reemplazarlos por otros como hace ahora.
El enlace a esta post es: xxxxxxx/navegando-con-ttulos.html
si fuera actual, sería xxxxxxx/navegando-con-titulos.html
El include nextprev' puede ser condicionado sin problemas, como cualquier otro y mostrarse arriba abajo o en ambos lugares a la vez.
Voy a probarlo a ver que sale, sinceramente no logro entender bien como funcionaría hasta que lo prueba y meta mano.
Ya que este script muestra los títulos, es posible generar un link a esa entrada anterior y posterior?
Abrazo, perdón por la insistencia pero quiero sacarme las dudas antes de toquetear todo :D
La paginación de Blogger son enlaces a las entradas anterior y siguente. Insisto, el script, sólo cambia el texto.
¿Quiere dejar un comentario?
recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...
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 ...