domingo, 20 de octubre de 2013

Leer más automatico con imagen en miniatura



Leer más automático es un truco muy útil para los blogs con entradas largas que decean reducirlas (Solo en la pagina principal), aquí mostrare como hacerlo con una imagen.




Anteriormente vimos el truco de Leer más automático con Botón de imagen, muy útil para los blogs con entradas largas que decean reducirlas (Solo en la pagina principal), aquí mostrare como hacerlo con un estilo botón como el de la imagen de arriba.

Para ponerlo ve a Diseño > Edición de HTML, marca la casilla Expandir plantillas de artilugios y busca lo siguiente: <data:post.body/> Sustituyelo por este otro código: <b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:blog.pageType != "static_page"'>
<div expr:id='"summary" + data:post.id'><data:post.body/></div>
<script type='text/javascript'>createSummaryAndThumb("summary<data:post.id/>");</script>
<div class='readmore-wrap'>
<a class='readmore' expr:href='data:post.url'>Leer más»</a>
</div>
</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 pega antes de </head> lo siguiente: <script type='text/javascript'>
summary_noimg = 400;
summary_img = 300;
img_thumb_height = 150;
img_thumb_width = 200;

</script>
<script type='text/javascript'>
//<![CDATA[

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>
Configuracion: Se puede cambiar el tamaño de las imagenes y el numero de caracteres en el resumen de las entradas, al inicio del código anterior y marcado en color rojo, explicacion: summary_noimg = 400; Número de caracteres cuando la entrada no tiene una imagen. summary_img = 300; Número de caracteres cuando la entrada tiene una imagen. img_thumb_height = 125; Altura de la imagen en miniatura. 
img_thumb_width = 125; Ancho de la imagen en miniatura. Ahora para darle el estilo pega antes de ]]></b:skin> lo siguiente: .readmore-wrap{margin-bottom:15px;float:right}
a.readmore{color:#fff;background:#444;padding:6px 14px;font-size:12px;line-height:12px;display:block;text-decoration:none}
a.readmore:hover{color:#fff;background:#00619A;text-decoration:none}
Guarda los cambios y listo,

1 comentario: