24 de mayo de 2010

Articulos relacionados (enlaces de texto)

Anteriormente les habia mencionado sobre como poner articulos relacionados por medio de widgets, que solo era agregar un widget en tu sitio y listo, pero esto es muy limitado, asi que hoy les traigo como poner articulos relacionados por enlaces de texto como este ejemplo:


Bien, lo que tenemos que hacer es, expandir artilugios (Diseño/Edicion HTML/marcamos Expandir artilugios, esto es en caso de usar Blogger).
Despues buscamos <data:post.body/>, despues de encontrarlo pondremos justo debajo de el el siguiente codigo:


<b:if cond='data:blog.pageType == "item"'> <div class='similiar'> <!-- *****************http://hoctro.blogspot.com*****Jan,2007****************** --> <!-- *****************Related Articles by Labels - Take Two****************** --> <!-- Modified by http://dreamydonkey.blogspot.com/ to make it easier to use. 1. Now, users don't need to change anything to use this widget. just copy and paste, and done! 2. The current article will also be listed, now it's no more. --> <div class='widget-content'> <h3>Artículos Relacionados </h3> <div id='data2007'/><br/> <script type='text/javascript'> var homeUrl3 = "<data:blog.homepageUrl/>"; var maxNumberOfPostsPerLabel = 4; var maxNumberOfLabels = 10; maxNumberOfPostsPerLabel = 100; maxNumberOfLabels = 3; function listEntries10(json) { var ul = document.createElement('ul'); var maxPosts = (json.feed.entry.length <= maxNumberOfPostsPerLabel) ? json.feed.entry.length : maxNumberOfPostsPerLabel; for (var i = 0; i < maxPosts; i++) { var entry = json.feed.entry[i]; var alturl; for (var k = 0; k < entry.link.length; k++) { if (entry.link[k].rel == 'alternate') { alturl = entry.link[k].href; break; } } var li = document.createElement('li'); var a = document.createElement('a'); a.href = alturl; if(a.href!=location.href) { var txt = document.createTextNode(entry.title.$t); a.appendChild(txt); li.appendChild(a); ul.appendChild(li); } } for (var l = 0; l < json.feed.link.length; l++) { if (json.feed.link[l].rel == 'alternate') { var raw = json.feed.link[l].href; var label = raw.substr(homeUrl3.length+13); var k; for (k=0; k<20; k++) label = label.replace("%20", " "); var txt = document.createTextNode(label); var h = document.createElement('b'); h.appendChild(txt); var div1 = document.createElement('div'); div1.appendChild(h); div1.appendChild(ul); document.getElementById('data2007').appendChild(div1); } } } function search10(query, label) { var script = document.createElement('script'); script.setAttribute('src', query + 'feeds/posts/default/-/' + label + '?alt=json-in-script&callback=listEntries10'); script.setAttribute('type', 'text/javascript'); document.documentElement.firstChild.appendChild(script); } var labelArray = new Array(); var numLabel = 0; <b:loop values='data:posts' var='post'> <b:loop values='data:post.labels' var='label'> textLabel = "<data:label.name/>"; var test = 0; for (var i = 0; i < labelArray.length; i++) if (labelArray[i] == textLabel) test = 1; if (test == 0) { labelArray.push(textLabel); var maxLabels = (labelArray.length <= maxNumberOfLabels) ? labelArray.length : maxNumberOfLabels; if (numLabel < maxLabels) { search10(homeUrl3, textLabel); numLabel++; } } </b:loop> </b:loop> </script> </div> </div> </b:if>


Donde cambiaremos Articulos Relacionados por el texto que ustedes quieran (Tambien puede interesarte, Otros parecidos, etc.), tambien cambiaremos maxNumberOfPostsPerLabel = 4; que es el numero de etiquetas diferentes que se mostraran y maxNumberOfLabels = 10; que es el numero de enlaces que se mostraran.

RECUERDEN QUE deben de guardar una copia de su template antes de hacer cualquier cambio, en caso de algun error, o hacerlo en una pagina de pruebas.

0 comentarios:

Publicar un comentario

Nena Says! toma en cuenta todos sus comentarios y sugerencias.

"Si necesitas ayuda no dudes en dejar tus comentarios".

• No se aceptan comentarios tipo SPAM.

• Si no tienes tu perfil activado o eres un usuario anonimo, deja un enlace de tu sitio utilizando la opcion Nombre/URL.

• Si tienes un perfil en LiveJournal, Wordpress, TypePad o AIM puedes acceder seleccionando la opcion OpenID.

• Seran borrados aquellos comentarios que no cumplan con los terminos y condiciones de este sitio.

Muchas gracias!