Como verán en las entradas de mi blog al desplegarlas por completo, hay abajo un par de post relacionados con el que se está mostrando. Esto es muy fácil de hacer, sólo sigan los siguientes pasos:
Primero que nada recomiendo clickear la opción Descargar plantilla completa por si surge algún error.
- Ingresamos a Diseño/Edición de HTML y tildamos la opción Expandir artilugios.
- Con Ctrl + f buscamos el código
]]></b:skin>
y debajo de este pegamos 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>
- Lugo buscamos el código
<b:loop values='data:post.labels' var='label'>
- Antes del siguiente
</b:loop>
pegamos este código:
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name +
"?alt=json-in-script&callback=related_results_labels&max-results=10"'
type='text/javascript'/>
</b:if>
- Por último buscamos esta la linea
<div class='post-footer-line post-footer-line-3'>
y debajo de ella pegamos esto:
<b:if cond='data:blog.pageType == "item"'>
<div class='post-footer-line post-footer-line-4' id='relpost'>
<h4>Entradas relacionadas:</h4><b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
removeRelatedDuplicates();
printRelatedLabels();</script>
</b:if>
</div></b:if>
Lo guardamos y ya tendremos las entradas relacionadas haciendo click en una de ellas dado que no aparecen en la página principal.
Horacio sabes ue probé tres veces siguiendo los pasos y me marca error... tenes idea por que puede ser?
ResponderEliminarcompa marca error algo ta mal...
ResponderEliminarPor cualquier inconveniente que tengan pueden visitar este muy buen tutorial:
ResponderEliminarhttp://elescaparatederosa.blogspot.com/2008/02/entradas-relacionadas.html