Si eres de los que suele publicar entradas extensas y que parecen nunca terminar, esta puede ser una solución útil. Con este truco veremos las entradas con un extracto de la misma y que cuando el lector haga click en “Leer Más” podrá ver el artículo completo.
Si tus entradas tienen imágenes también tendrán una imagen en miniatura en la portada con el leer más.
para hacerlo nos vamos a:
Diseño > Edición de HTML y expandiendo artilugios buscamos:
<data:post.body/>y lo reemplazamos con:
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<div style='text-align:justify;' expr:id='"summary" + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>");</script>
<span class='rmlink' style='float:right;'><a expr:href='data:post.url'>Leer más...</a></span>
</b:if></b:if>
<b:if cond='data:blog.pageType == "item"'><data:post.body/></b:if>
<b:if cond='data:blog.pageType == "static_page"'><data:post.body/></b:if>
Y para terminar antes de </head> pegamos este código:
<script type='text/javascript'>
summary_noimg = 400;
summary_img = 300;
img_thumb_height = 125;
img_thumb_width = 125;
</script>
<script type='text/javascript'>
//<![CDATA[
/******************************************
(C)2008 by Anhvo
visit http://en.vietwebguide.com to get more cool hacks
********************************************/
function removeHtmlTag(strx,chop){
if(strx.indexOf("<")!=-1)
{
var s = strx.split("<");
for(var i=0;i<s.length;i++){
if(s[i].indexOf(">")!=-1){
s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);
}
}
strx = s.join("");
}
chop = (chop < strx.length-1) ? chop : strx.length-2;
while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++;
strx = strx.substring(0,chop-1);
return strx+'...';
}
function createSummaryAndThumb(pID){
var div = document.getElementById(pID);
var imgtag = "";
var img = div.getElementsByTagName("img");
var summ = summary_noimg;
if(img.length>=1) {
imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>';
summ = summary_img;
}
var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
div.innerHTML = summary;
}
//]]>
</script>
Guardamos los cambios y se verán las entradas resumidas como en la página principal de este blog o en la imagen superior.
Muy bueno, gracias
ردحذفMuchas gracias por la explicación y por los códigos, lo había probado en muchos sitios pero en ninguno me había funcionado y aquí sí :D me habéis ayudado a hacer feliz a una persona, gracias de verdad =)
ردحذفERES UN GEEEEEEEEEEEEEEEEEEEEEEEEEENIO TÍO! LLEVO HORAS BUSCANDO E INTENTANDO CON LOS CÓDIGOS Y ME HE PASEADO POR PÁGINAS QUE ME HAN CONFUNDIDO MUCHO Y CON TU POST, EN MENOS DE CINCO MINUTOS HICE TODO LO QUE QUERÍA! GRACIAS MIL!
ردحذفSeignur, SoniaLadyDeath y Erika Zeballos:
ردحذفQue bueno que les haya servido el truquito.
Saludos :)
Gracias muy amable
ردحذفMuchisimas gracias, llevo todo el dia navegando y viendo tutoriales complejos que no me han llevado nada mas que hacer mi cabeza un lio...
ردحذف¿Hay alguna forma de configurar la foto que muestra la entrada?
De nuevo muchas gracias, y enhorabuena por el trabajo que haces!
Hola, muchisimas por este post, no sabes lo que ,me ha ayudado. Ahora me gustaría saber si puedo cambiar el tamaño de la letra del resumen y ponerlo en negrita. Gracias por anticipado
ردحذفMuchas gracias, me ha servido de mucho, pues llevaba un tiempo buscando y probando y no me servía nada, y he encontrado tu post, y en cinco minutos colocado, jeje de nuevo mil gracias.
ردحذفEste comentario ha sido eliminado por el autor.
ردحذفMuy buenas, no controlo nada HTML y tengo alguna duda. Respecto reemplazar datapostbody , ¿te refieres a que elimine esa frase y la sustituya por el código que das? ¿o a que mantenga y el código lo copie abajo sin borrar nada?. Respecto a /head, simplemente pegar el código antes sin borrar nada no? Muchas gracias y saludos!
ردحذفإرسال تعليق
Todo comentario se agradece, además es no permite seguir trabajando.