JMiur [E]

El widget de Archivo del blog de Blogger es casi imposible de personalizar más allá de pequeñas cosas. Son muchos los que preguntan sobre este tema y la verdad es que no hay respuestas.

El problema fundamental es que lo que vemos cuando agregamos este elemento son datos parciales; aparecerá una lista siempre incompleta de posts y, al hacer click en alguno de los enlaces que sirven para desplegarla (el año o el mes), recién entonces se cargarán. Quiere decir que en ese gadget no estan listadas "todas" las entradas de nuestro blog sino una cantidad reducida. Eso es algo que podemos comprobar fácilmente con alguna clase de script.

<div id="test"></div>
<a href="javascript:leergadgetarchivos();">click</a>

<script type='text/javascript'>
  function leergadgetarchivos() {
    var archivos = document.getElementById("ArchiveList");
    var misposts = new Array();
    if(archivos!=null) {
      var lista = archivos.getElementsByTagName("a");
      var contador = 0;
      for(var i=0; i<lista.length; ++i) {
        if(lista[i].className=="") {
          misposts[contador] = lista[i];
          contador++;
        }
      }
      var salida = "<ul>";
      for(var i=0; i<misposts.length; ++i) {
        salida += "<li><a href='" + misposts[i].href + "'>" + misposts[i].innerHTML + "</a></li>"
      }
      salida += "</ul>"
      document.getElementById("test").innerHTML = salida;
    }
  }
</script>

Aunque es un poco precario, algo que si puede hacerse y que han preguntado algunas veces, es ocultar determinados posts de esa lista de archivos pero, sólo se me ocurre una posibilidad, ocultar las entradas de un año específico.

Para eso, editamos el widget expandiendo la plantilla y buscamos esta parte:
<b:widget id='BlogArchive1' locked='false' title='Archivo del blog' type='BlogArchive'>
Un poco más abajo, veremos el bucle que muestra los años, los meses y las entradas así que allí podemos usar un condicional que es lo que está añadido en color:
<b:includable id='interval' var='intervalData'>
  <b:loop values='data:intervalData' var='i'>
    <b:if cond='data:i.name != &quot;2006&quot;'>
        <ul class='hierarchy'>
          .......
        </ul>
    </b:if>
  </b:loop>
</b:includable>
En el ejemplo el año es el 2006 pero, puede ser cualquier otro.

2 comentarios:

Anónimo  

la unica pagina que mostraba lo que buscaba, muchisimas gracias, esto me servira para poner links de entradas en mis otras paginas del blog con temas que no tengan nada que ver con la pagina principal (no se si me entendieron xD) bueno, gracias y saludos

Responder
VerónicaAM  

BUENISIMO! MIL GRACIAS :)

Responder

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

 
CERRAR