Entradas relacionadas por categorias. Este truco tiene bastante tiempo pero hasta ahora implementarlo podía resultar complicado para los que empiezan. Me ha gustado lo fácil que ...

15/10/2008

Este truco tiene bastante tiempo pero hasta ahora implementarlo podía resultar complicado para los que empiezan. Me ha gustado lo fácil que resulta implementarlo.


Para ello editamos nuestra plantilla HTML, expandimos artilugios, buscamos
<div class='post-footer-line post-footer-line-3'/>

y pegamos


<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div class='similiar'>
<!-- ***http://hoctro.blogspot.com***Jan,2007**** -->
<!-- ***Related Articles by Labels - Take Two*** -->

<!--
Modified by JackBook.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>Related Posts by Categories</h3>
<script type='text/javascript'>

var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;
var maxNumberOfPostsPerLabel = 4;
var maxNumberOfLabels = 10;

maxNumberOfPostsPerLabel = 100;
maxNumberOfLabels = 3;


function listEntries10(json) {
var ul = document.createElement(&#39;ul&#39;);
var maxPosts = (json.feed.entry.length &lt;= maxNumberOfPostsPerLabel) ?
json.feed.entry.length : maxNumberOfPostsPerLabel;
for (var i = 0; i &lt; maxPosts; i++) {
var entry = json.feed.entry[i];
var alturl;

for (var k = 0; k &lt; entry.link.length; k++) {
if (entry.link[k].rel == &#39;alternate&#39;) {
alturl = entry.link[k].href;
break;
}
}
var li = document.createElement(&#39;li&#39;);
var a = document.createElement(&#39;a&#39;);
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 &lt; json.feed.link.length; l++) {
if (json.feed.link[l].rel == &#39;alternate&#39;) {
var raw = json.feed.link[l].href;
var label = raw.substr(homeUrl3.length+13);
var k;
for (k=0; k&lt;20; k++) label = label.replace(&quot;%20&quot;, &quot; &quot;);
var txt = document.createTextNode(label);
var h = document.createElement(&#39;b&#39;);
h.appendChild(txt);
var div1 = document.createElement(&#39;div&#39;);
div1.appendChild(h);
div1.appendChild(ul);
document.getElementById(&#39;data2007&#39;).appendChild(div1);
}
}
}
function search10(query, label) {

var script = document.createElement(&#39;script&#39;);
script.setAttribute(&#39;src&#39;, query + &#39;feeds/posts/default/-/&#39;
+ label +
&#39;?alt=json-in-script&amp;callback=listEntries10&#39;);
script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);
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 = &quot;<data:label.name/>&quot;;

var test = 0;
for (var i = 0; i &lt; labelArray.length; i++)
if (labelArray[i] == textLabel) test = 1;
if (test == 0) {
labelArray.push(textLabel);
var maxLabels = (labelArray.length &lt;= maxNumberOfLabels) ?
labelArray.length : maxNumberOfLabels;
if (numLabel &lt; maxLabels) {
search10(homeUrl3, textLabel);
numLabel++;
}
}
</b:loop>
</b:loop>
</script>
</div>

</div>
</b:if>

Fuente:JackBook

Te recomendamos también

25 comentarios:

  1. Hola,

    Es muy bueno este truco, pero lo implemente en el blog y lo que aparece es este mensaje: Related Posts by Categories no se a lo mejor es que hay algo en mi plantilla que interfiere con eso...

    Saludos!

    ResponderSuprimir
  2. Antony si quieres eliminarlo o modificar el titulo, busca en el script...

    <h3>Related Posts by Categories</h3>

    ☺☺☺

    ResponderSuprimir
  3. Compi, hay alguna manera de poner las categorias como las entradas pero que yo pueda elegir que categorias quiero que se vean.
    Besicos

    ResponderSuprimir
  4. Paqui sera por la hora pero no me he enterao....mmmmmmm

    ResponderSuprimir
  5. Si que es sencillo si... me ha gustado ;)
    Yo las apliqué hace tiempo pero de una forma más... como tu dices complicada.

    ResponderSuprimir
  6. Hola Pizcos, si que se ve sencillo pero hice todo como dices y no sale nada, ni una palabra, lo puse en FolkTango quieres mirarlo a ver si me equivoqué en algo que no sería nada raro.
    Tienes algún sitio para ver como queda? O es lo que está debajo de tus entradas?

    A mi no me sale nada, lo dejo puesto el código para que puedas verlo, pero es como si no estuviera allí...

    Un saludo ;)

    ResponderSuprimir
  7. lo probaré Pizcos...por categoría...bien cuando lo leo por ahí no lo entiendo sino cuando lo voy haciendo...besitos!!!

    ResponderSuprimir
  8. k_nelita mandame tu plantilla, no se porque no se ve en tu blog, el script aparentemente esta bien puesto...

    ResponderSuprimir
  9. Ahí te va la plantilla Pizcos, la envié via Gmail, no se si tenés registrado mi mail allí, sino fijate en spam, es igual al otro correo solo que Gmail.
    Muchas gracias por preocuparte ;)

    ResponderSuprimir
  10. k_nelita no he recibido nada, ni en spam ni en bandeja...

    ResponderSuprimir
  11. Hola Pizcos volví a mandarte la plantilla por Gmail, no la recibiste? Querés que te la mande por Hotmail?

    ResponderSuprimir
  12. k_nelita rien de rien, o sea nada de nada, usa el contactame que tengo debajo de cada entrada...

    ResponderSuprimir
  13. Yo ya no se que pasa con el correo, ahí te la mandé como dices por el formulario de contacto, a ver si así te llega.

    Saludos ;)

    ResponderSuprimir
  14. Me equivoqué de plantilla, esta última que te mandé es la que tiene el código la que dice Folktango para Pizcos.
    Que despistada por Dios!! :)

    ResponderSuprimir
  15. k_nelita estoy con lo tuyo, pero la verdad es que no se que puede producir el error, el codigo es correcto, y he visto en la web del autor que a otros les pasa lo mismo y no hay respuesta por el momento, de todas formas sigo buscando porque no aparecen...

    ResponderSuprimir
  16. Gracias Pizcos por preocuparte, vos tenés el mismo código?
    Porque a vos si te aparecen las entradas relacionadas...
    No se si viste en FolkTango que sale el título: Entradas relacionadas, pero al expandir la entrada, pero es solo el título sin enlace siquiera.
    No en la página principal, sino al expandir.

    Saluditos ;)

    ResponderSuprimir
  17. k_nelita yo aqui ya lo tenia implemntado de otra forma, este truco sale solo al acceder a la pagina de le entrada y si, solo sale el titulo, pero si miras elcodigo fuente, tambien aparecen las etiquetas!!!, pero no sale, tengo tu codigo puesto en un blog de pruebas y ando trasteando con el...Este truco lo probe en otro blog y funciono sin problemas...

    ResponderSuprimir
  18. Hola, Pizcos, antes de todo, quisiera felicitarte por tu blog. Vengo del blog de gema, un excelente complemento para los fanáticos del blog, entre los que me encuentro.
    Estoy intentando probar esto en mi blog, pero no encuentro exactamente la línea que señalas, y en su lugar, en mi plantilla al principio aparece p class= y el resto de la línea es idéntica
    Es a partir de ahí dónde se tiene que pegar?
    Gracias por tu ayuda
    Un abrazo
    Rampi

    ResponderSuprimir
  19. Rampi si acaba en lo de footer 3, esa es la palabra clave, el resto no importa... pegalo ahi...haz copia antes de tu plantilla...☺☺☺

    ResponderSuprimir
  20. Tengo una duda, cuando hago esto, lo unico que aparece es RELATED POSTS BY CATEGORIES, pero no aparece ningun enlace para una entrada relacionada, alguien sabe por que???

    ResponderSuprimir
  21. Tisdale-world suele tardar un poco en aparecer...dime si lo conseguiste...

    ResponderSuprimir
  22. igaul a mi no me aparecen, nomas me sale RELATED POSTS BY CATEGORIES, pero voy a esperar

    ResponderSuprimir
  23. no me funciono......deje la computadora como unas 4 horas regrese y me meti para ver si habia funcionado pero no funciona :S

    ResponderSuprimir
  24. TheJigg0695 no se cual es tu pagina...no tienes el perfil disponible...

    ResponderSuprimir