lunes, 31 de mayo de 2010

Como poner Entradas relacionadas en Blogger (II)



No todas las plantillas son iguales, Aquí tenéis otro código html, para los que tenéis problemas con el anterior.

Primero entra a Diseño > Edición de HTML y haz un respaldo de tu plantilla por si no obtuvieras los resultados esperados.

Luego con los artilugios expandidos busca la etiqueta ]]></b:skin> y justo debajo de ella pega lo siguiente:

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

var relatedTitles = new Array();
var relatedTitlesNum = 0;
var relatedUrls = new Array();

function related_results_labels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
relatedTitles[relatedTitlesNum] = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
relatedUrls[relatedTitlesNum] = entry.link[k].href;
relatedTitlesNum++;
break;
}
}
}
}

function removeRelatedDuplicates() {
var tmp = new Array(0);
var tmp2 = new Array(0);
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmp, relatedUrls[i])) {
tmp.length += 1;
tmp[tmp.length - 1] = relatedUrls[i];
tmp2.length += 1;
tmp2[tmp2.length - 1] = relatedTitles[i];
}
}
relatedTitles = tmp2;
relatedUrls = tmp;
}

function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}

function printRelatedLabels() {
var cuantosPosts = 0;
var r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
var dirURL = document.URL;
document.write('<ul>');
while (i < relatedTitles.length && i < 20) {
if (relatedUrls[r] != dirURL) {
document.write('<li><a href="' + relatedUrls[r] + '" title="Post relacionado: '
+ relatedTitles[r] + '">' + relatedTitles[r] + '</a></li>');
}
if (r < relatedTitles.length - 1) {
r++;
} else {
r = 0;
}
i++;
cuantosPosts++;
if (cuantosPosts == 5) {
break;
}
}
document.write('</ul>');
}

//]]>
</script>
Ahora busca esta línea:

<b:loop values='data:post.labels' var='label'>
Y justo antes del siguiente </b:loop> pega esto:

<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name +
"?alt=json-in-script&amp;callback=related_results_labels&amp;max-results=10"'
type='text/javascript'/>
</b:if>
Ya sólo busca esta línea:

<div class='post-footer-line post-footer-line-3'>
Y pega debajo de ella lo siguiente:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div class='post-footer-line post-footer-line-4' id='relpost'>
<h4>Entradas relacionadas:</h4>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<script type='text/javascript'>
removeRelatedDuplicates();
printRelatedLabels();
</script>
</b:if>
</div></b:if>
Guarda los cambios y listo. El resultado lo verás haciendo click en una entrada de tu blog, pues no se mostrará en la página principal.

11 comentarios:

Marcos dijo...

Muchisimas gracias. Ahora funciona perfectamente.
Haces un gran trabajo con tu blog.

De todo para los blogger dijo...

Gracias a tí Marcos, por tu confianza te iré enlazando en los blogs que me dejen
saludos

Anónimo dijo...

hola, segui tus pasos pero no lo consegui, no me apraecen las entradas relacionadas, ¿que hago?

De todo para los blogger dijo...

Hola dime cual es tu blog?

ingles rapido dijo...

he probado varias veces con otras formas y siempre aparecia "entradas relacionadas" pero sin ningun enlace, pero con este articulo ... !recien me ha funcionado, muchas gracias mil veces, sos un capo!!!

De todo para los blogger dijo...

Gracias a ti.

Noticias insólitas dijo...

Me funciono en un blog y en otro no, haber como me las apaño. gracias!

Fabröfer dijo...

Hola maestro, tengo una consulta: hice todo lo que dijiste, pero solo me sale el título de "Entradas relacionadas" y no aparece nada más. ¿Cuál podrá ser el problema? Te agradezco mucho la ayuda, ¡saludos!

Fabröfer dijo...

Por cierto, mi blog es www.queenpazdescargues.blogspot.com Verás que varias entradas tienen enlaces relacionados, pero esos los hice yo manualmente. Me lleva bastante trabajo, por eso intento automatizarlo.

Madrisphere dijo...

A mi también me pone Entradas Relacionadas, pero no me sale nada :S

Ranita dijo...

muchas gracias! m quedó genial! ^^

Publicar un comentario

DIRECTORIOS

http://www.trucosblogs.com/post
4.57/5 – 42 opiniones
http://www.fabricaturopa.com/post 4.57/5 – 42 opiniones