¡¡ Nuevo Webmasters Deluxe !!

Ahora Webmasters Deluxe ha cambiado de lugar. Puedes encontrarnos en www.webmastersdeluxe.com con más contenido, más funciones y más social.

A+ | a-

domingo, 14 de diciembre de 2008

Articulos Relacionados en Blogger

A continuación vamos a ver como insertar los artículos relacionados al final de tus post en Blogger.

Antes de nada, haz una copia de seguridad de la plantilla de tu blog. En la pestaña "Editar HTML", y despues en "Descargar Plantilla Completa", y guarda el backup en un lugar fácil de encontrar en tu computador. Esta copia te servirá para restaurar la plantilla en caso de necesidad. No me responsabilizo de las consecuencias que tengas por no disponer de una copia de seguridad.

A continuación sigue los siguientes pasos, que para más facilidad puedes realizar con la ayuda de algún editor de HTML para buscar en el código de la plantilla;

1.- Buscar la etiqueta </head>  y pegar el siguiente código ANTES  de la misma:

<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 r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
document.write('<ul>');
while (i < relatedTitles.length && i < 20) {
document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a></li>');
if (r < relatedTitles.length - 1) {
r++;
} else {
r = 0;
}
i++;
}
document.write('</ul>');
}
//]]>
</script>

2.- Guarda la plantilla y haz clic en "Expandir plantillas de Artilugios" y busca el siguiente pedazo de código:

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>
<b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
</b:if>

3.- Pega el siguiente código ANTES de  </b:loop>:

<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>

4.- Debe de quedar así, con el texto en rojo para la parte que acabas de añadir: 

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>

<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>

</b:loop>
</b:if>


5.- Ahora busca la siguiente linea:

<div class='post-footer-line post-footer-line-3'/>

6.- Añade el siguiente código DESPUES de ella:

<b:if cond='data:blog.pageType == "item"'><h3>articulos relacionados</h3></b:if>
<script type='text/javascript'>
removeRelatedDuplicates();
printRelatedLabels();
</script>


7.- Debe de quedar así:

<div class='post-footer-line post-footer-line-3'/>
<b:if cond='data:blog.pageType == "item"'><h3>articulos relacionados</h3></b:if>
<script type='text/javascript'>
removeRelatedDuplicates();
printRelatedLabels();
</script>


8.- Para modificar la cantidad de artículos que serán mostrados, busca este código en la plantilla: 

<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>


9.- Cambia el número en rojo por la cantidad de artículos relacionados que quieres que se muestren. Este número no indica el total de artículos, solamente indica el número de artículos que se mostrarán para cada categoría. 

Los artículos relacionados solamente aparecen cuando los artículos son mostrados de forma individual.  Ten en cuenta que al acceder a la página principal estos no se mostrarán.

Ahora ya tienes todos los artículos relacionados de tu blog en un solo post. Así de simple.

1 comentario:

  1. Me ha costado un huevo para encontrar los códigos dichosos pero no se me escapan y lo pusev todo en su sitio creo luego te cuento más. lo que he pensado que si no tienes el widget etiquetas(labels) el codigo puede que no paraezca al desplegar la plantilla de artilugios.Lo has comprobado????
    Y una colada cuando dices Cambia el número en rojo por la cantidad de artículos relacionados que ese resulta esr el primero que hemos de pegar en vez de mandarnoslo buscar despues de pegado decirlo antes y rectificarlo de al principio y no andar a buscarlo de nuevo. Pero ya lo he probado y fuciona es cojonudo como lo muestra en una lista y en en mi css a las los items de la listas no ordenadas les corresponde una hojita como en vez de un cuadrado o un circulo queda que ni apropisito miratelo abriendo algúna entrada del blog este lo hare en otros pero con paciencia que buscar donde andan esos códigos tiene telita.....
    http://misterchufla.blogspot.com/2008/12/se-acerca-san-canuto.html

    ResponderEliminar

Normas de publicación:
- El comentario debe de tener relación con la entrada
- Los comentarios anónimos están permitidos, pero serán moderados
- Argumenta tus comentarios de forma clara. Aporta información Relevante.
- No utilices unicamente Mayúsculas ni ortografías abreviadas del tipo texto SMS. Escribe correctamente.
- El Spam será borrado automaticamente.
- No hagas comentarios irrelevantes; serán considerados Spam.
- Evita las ideas generales y el lenguaje vulgar.
- Para dejar tu URL comenta con OpenID.
- Backlinks son automaticos.
- Los comentarios pueden tardar un tiempo mínimo en ser publicados.

NOTA: Los comentarios de los usuarios no reflejan las opiniones del editor. No se aceptarán bajo ningún concepto comentarios difamatorios, o faltas de respeto hacia los usuarios de este blog. Libertad de expresión Si, pero con educación.

  ©Diseño: Isi Roca.

Subir