¿Cómo puedo mostrar/ocultar mis Post (entradas) en Classic Blogger? (Modo Peek-a-boo)

Así quedarán las entradas de nuestro blog, una vez que hayamos seguido los pasos. Solo hagan click en [+/-], para que vean como se despliega el resto del post que esta oculto.

Ejemplo:

function expandcollapse (postid) {
whichpost = document.getElementById(postid);
if (whichpost.className==”postshown”) { whichpost.className=”posthidden”; }
else { whichpost.className=”postshown”; }
}

.posthidden {display:none}
.postshown {display:inline}

Esta entrada es larga

Bueno, es verdad, no es tan larga. Pero es que no tengo mucho que decir. Sin embargo, debería incluir por lo menos un párrafo bastante largo aquí para que se haga una idea de cómo funciona esta opción. ¿Alguien conoce algún chiste bueno? Venga, seguro que sí. ¿Tengo que hacerlo todo yo solo? Me temo que sí. Lo cierto es que no me importa, porque tampoco tiene mucho sentido extenderse demasiado. Retroceda y lea el resto del artículo. (puede hacer clic en el siguiente vínculo para volver a ocultar esta entrada).

[+/-] mostrar/ocultar esta entrada

Con la implementación de este script no es necesario que el lector cargue una nueva pagina para ver el resto de la entrada. Solo tendrá que pinchar en el [+/-] y listo. Mucho más rápido que cargar una página de nuevo. Si quieren en vez de [+/-] pueden colocar cualquier cosa, una imagen, otras palabras como leer mas… , o pueden simplemente dejar solo el título de la entrada.

Esta funcionalidad es especialmente útil para los blogs que tienen entradas muy largas. El usuario sólo verá los títulos de sus entradas y podrá hojearlos para seleccionar los que realmente le interesan. A continuación, podrá hacer clic en el vínculo correspondiente para leer todo el texto de la entrada. Cuando termine, podrá volver a ocultar el texto. Todo esto sucede en la misma página, con lo que no deberá navegar por otras páginas ni cargarlas.

Esta funcionalidad se compone de tres elementos: CSS, Javascript y, cómo no, los códigos de plantilla de Blogger. Vayamos por pasos.

Paso 1:

CSS

Es la parte más sencilla. Necesitamos un par de ejemplos que oculten o muestren entradas.

Copie estas dos líneas en su hoja de estilos:

  1. .posthidden {display:none}
  2. .postshown {display:inline}

Osea estas 2 líneas de código deben estar dentro de <style> y </style>

Para la mayoría de las plantillas de blogger, su hoja de estilos suele aparecer en la parte superior de su plantilla, entre los códigos <style> y </style>. Algunas plantillas simplemente hacen referencia a un archivo externo que contiene el style. Si se encuentra en un archivo externo, entonces deberán primero descargarlo, cambiarlo (agregándole las dos líneas mencionadas) y luego volver a subir el archivo a un servidor propio.

Paso 2:

Javascript

Añada el código siguiente a su plantilla, entre <head> y </head>:

  1. function expandcollapse (postid) {
  2.    whichpost = document.getElementById(postid);
  3.    if (whichpost.className=="postshown") {
  4.       whichpost.className="posthidden";
  5.    }
  6.    else {
  7.       whichpost.className="postshown";
  8.    }
  9. }

Lo importante del código anterior es que tenemos que darle un nombre exclusivo (id) a cada una de las secciones que necesitemos ocultar.

Paso 3:

Códigos de Blogger

Ahora que tenemos las herramientas preparadas, podemos aplicarlas a nuestras entradas.

Para la mayoría de las plantillas los Post (Entradas) se representan por estas líneas de código, que se encuentran entre <Blogger> y </Blogger>:

  1. <!-- Begin .post -->
  2.   <div class="post">&lt;a name=&quot;"&gt;</a>
  3.          
  4.            <h3 class="post-title">
  5.      &lt;a href=&quot;" title="external link"&gt;
  6.      
  7.      </a>
  8.            </h3>
  9.          
  10.   <div class="post-body">
  11.         <p></p>
  12.   </div>
  13.   <p class="post-footer">
  14.       <em> @ &lt;a href=&quot;" title="permanent link"&gt;</a></em>&nbsp;
  15.      
  16.          
  17.             &lt;a class=&quot;comment-link&quot; href=&quot;"&gt;<span></span></a>
  18.          
  19.          
  20.             &lt;a class=&quot;comment-link&quot; href=&quot;#links"&gt;<span></span></a>
  21.          
  22.        
  23.   </p>
  24.   </div>
  25. <!-- End .post -->

Para Ocultarlo debemos primero eliminar esta línea de código:

<a name=”<$BlogItemNumber$>”></a>

Luego reemplazamos esta parte del código inicial, la que va desde <BlogItemTitle> a </BlogItemTitle>:

  1. <h3 class="post-title">
  2.      &lt;a href=&quot;" title="external link"&gt;
  3.      
  4.      </a>
  5.  </h3>

Por estas líneas:

Y finalmente, reemplazamos esta otra parte del código:

  1. <div class="post-body">
  2.         <p></p>
  3.   </div>

Por esta otra:

  1. &lt;span class=&quot;posthidden&quot; id=&quot;"&gt;
  2.   <div class="post-body">
  3.       <br />
  4.   </div>
  5.    </span>
  6.    &lt;a href=&quot;javascript:expandcollapse('')"&gt;
  7.    [+/-] show/hide this post</a>

Como resultado obtendríamos esto:
ejemploentradaexpandible1.JPG

Si quieren que solo aparesca el titulo del blog, con el link que se hará expandible sin el [+/-], entonces el código quedaría así:

  1. &lt;a href=&quot;javascript:expandcollapse('')"&gt;  </a>
  2.   &lt;span class=&quot;posthidden&quot; id=&quot;"&gt;
  3.          <div class="post-body">
  4.       <br />
  5.          </div>
  6.   </span>

Como resultado obtendríamos esto:
ejemploentradaexpandible2.JPG

Y si quieren que además desaparesca el pie del post, que tiene los comentarios, el nombre del creador del post, y la hora. Entonces el cierre (</span>) de la parte que necesitamos ocultar debe ir antes del último </div> que termina el código del Post. Quedaría así:

  1. <!-- Begin .post -->
  2.   <div class="post">
  3.        &lt;a href=&quot;javascript:expandcollapse('')"&gt;  </a>
  4.           &lt;span class=&quot;posthidden&quot; id=&quot;"&gt;
  5.                 <div class="post-body">
  6.                     <br />
  7.                 </div>
  8.   <p class="post-footer">
  9.       <em> @ &lt;a href=&quot;" title="permanent link"&gt;</a></em>&nbsp;
  10.      
  11.          
  12.             &lt;a class=&quot;comment-link&quot; href=&quot;"&gt;<span></span></a>
  13.          
  14.          
  15.             &lt;a class=&quot;comment-link&quot; href=&quot;#links"&gt;<span></span></a>
  16.          
  17.        
  18.   </p>
  19.   </span>
  20.   </div>
  21. <!-- End .post -->

ejemploentradaexpandible3.JPG

Hasta el momento lo que tendrán como resultado, es una lista de todos los títulos de los últimos post que muestran en la página principal, con su correspondiente fecha, si aún no han eliminado la fecha, en mi caso ya lo había hecho antes (explicado en post anterior), entonces lo que deben hacer es simplemente borrar de la plantilla las siguientes 3 lineas de código que la despliegan (van desde <BlogDateHeader> hasta </BlogDateHeader>), que se encuentran entre la etiqueta <Blogger> y la linea de comentario que identifica el comienzo del post ( <!– Begin .post –> ):

  1. <h2 class="date-header"></h2>
  2.  
  3.  
  4.          <!-- Begin .post -->

La parte más importante de este código es el empaquetador <span> que rodea el código <$BlogItemBody$>. Observe que esta sección empieza oculta y utiliza para crear un número de identificación exclusivo(id). Si quieren en vez de usar <$BlogItemNumber$> como id pueden utilizar <$BlogItemNumber$>1, de esta manera el “1” adicional garantiza la exclusividad del número de identificación en caso de que su plantilla ya utilice el número de elemento del blog para otra cosa como, por ejemplo, un vínculo perm. El vínculo de Javascript utiliza el mismo número de identificación para garantizar que se muestra u oculta la entrada adecuada.

Cuando finalicen los cambios en la plantilla, guarden los cambios y listo. El nuevo formato se aplicará automáticamente a todas sus entradas sin necesidad de realizar ninguna modificación.

Notas:

  • al igual que ocurre con las demás modificaciones de la plantilla, debe guardar una copia de seguridad de ésta antes de empezar. Basta con copiar todo el código en un archivo de texto del disco duro y dispondrá de una plantilla de repuesto en caso de que el proceso de modificación no se lleve a cabo correctamente.
  • Una alternativa al método de mostrar/ocultar son los resúmenes de entradas. Cada uno de ellos ofrece ventajas e inconvenientes.
  • Ventajas de este método: las entradas no deben modificarse, sólo tendrá que cambiar la plantilla.
  • Inconvenientes: sólo se muestra el título de cada entrada, pero no la información del resumen. Esta funcionalidad afecta a todas las entradas y no puede aplicarse de forma selectiva (por ejemplo, sólo a las entradas largas).
  • Artículos Relacionados

    Soy Blogger desde hace mucho tiempo. Inicialmente este blog se creó para entregar tutoriales paso a paso a las personas que estuvieran ingresando al mundo online. Muchos de mis tutoriales no requieren de conocimiento previo ni habilidades, la idea siempre fue tender una mano a los que usualmente no entienden nada. Como pueden ver estuvo bastante abandonado por varios años pero ahora lo retomaré con otro énfasis, explicación de herramientas mas complejas, y en la medida de lo posible se irán renovando los post que con el tiempo han quedado obsoletos.

    About patriram

    Soy Blogger desde hace mucho tiempo. Inicialmente este blog se creó para entregar tutoriales paso a paso a las personas que estuvieran ingresando al mundo online. Muchos de mis tutoriales no requieren de conocimiento previo ni habilidades, la idea siempre fue tender una mano a los que usualmente no entienden nada. Como pueden ver estuvo bastante abandonado por varios años pero ahora lo retomaré con otro énfasis, explicación de herramientas mas complejas, y en la medida de lo posible se irán renovando los post que con el tiempo han quedado obsoletos.

    Leave a Reply

    Your email address will not be published. Required fields are marked *