Delicious LinkedIn Facebook Twitter RSS Feed

Títulos de todas o ultimas entradas del blog

1- En primer lugar necesitaremos acceder dentro de nuestro panel de Blogger a la pestaña "Configuración" -> "Feed del sitio" y en el desplegable de "Permitir Feeds del blog" seleccionar el modo "Completo".

Tendremos que ir después, también desde "Configuración" a la pestaña "Archivo" y seleccionar "Si" en la opción "Habilitar páginas de entrada".

2- Una vez hecho esto, tendremos que añadir este código en nuestra plantilla justo antes de </head>
<script type='text/javascript'>
var cb = {
search: function(query, type, start, increment, func) {
var script = document.createElement(&#39;script&#39;);
script.setAttribute(&#39;src&#39;, &#39;http://&#39; + query + &#39;/feeds/&#39; + type + &#39;/default?alt=json-in-script&amp;start-index=&#39;
+ start + &#39;&amp;max-results=&#39; + increment + &#39;&amp;callback=&#39; + func + &#39;&amp;orderby=published&#39;);
script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);
document.documentElement.firstChild.appendChild(script);
},
searchLabel: function(query, label, func) {
var script = document.createElement(&#39;script&#39;);
script.setAttribute(&#39;src&#39;, &#39;http://&#39; + query + &#39;/feeds/posts/default/-/&#39; + encodeURIComponent(label) +
&#39;?alt=json-in-script&amp;callback=&#39; + func + &#39;&amp;orderby=published&#39;);
script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);
document.documentElement.firstChild.appendChild(script);
},
getTotalResults: function(json) {
return json.feed.openSearch$totalResults.$t;
},
getStartIndex: function(json) {
return json.feed.openSearch$startIndex.$t;
},
getLink: function(entry, name) {
var alturl;
for (var k = 0; k &lt; entry.link.length; k++) {
if (entry.link[k].rel == name)
alturl = entry.link[k].href;
}
return alturl;
},
getTitle: function(entry) {
return entry.title.$t;
},
getContent: function(entry) {
return entry.content.$t;
},
getCommentAuthor: function(entry) {
return entry.author[0].name.$t;
},
getLabelFromURL: function(json) {
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(raw.lastIndexOf(&#39;/&#39;)+1);
return decodeURIComponent(label);
}
}
},
txt : function (s) {
return s + &quot; Widget by &lt;a href=&#39;http://loseasi.blogspot.com&quot; + &quot;&#39;&gt;Loseasi&lt;/a&gt;&quot;;
}
};
</script>

3- Localizamos ahora la línea más abajo dentro del código de nuestra plantilla, que es la que marca el comienzo de la sidebar:

<b:section class='sidebar' id='sidebar' preferred='yes'>

Justo debajo de esa línea añadiremos el código necesario para mostrar el widget que, en un principio, se verá el primero de los añadidos a nuestra sidebar, pero que más tarde podremos mover al lugar que queramos:

<b:widget id='HTML50' locked='false' title='Todas las Entradas' type='HTML'>
<b:includable id='main'>

<b:if cond='data:title != &quot;&quot;'>

<h2 class='title'><img src='http://img513.imageshack.us/img513/8206/entradas.gif' style='padding-right: 5px; padding-left: 3px;'/><data:title/></h2>

</b:if>

<div class='widget-content'>

<data:content/>
<center><span style='font-family: trebuchet; color: red;font-size: 15px;'> Total:</span><script style='text/javascript'>
function showpostcount(json) {
document.write(parseInt(json.feed.openSearch$totalResults.$t,10));
}</script>
<script src='http://loseasi.blogspot.com/feeds/posts/default?alt=json-in-script&amp;callback=showpostcount'/> <span style='font-family: trebuchet; font-size: 15px;'> Entradas</span></center>
<ul> <div id='dataPost' style='border: 1px solid rgb(204, 204, 204); padding: 0px; overflow: auto; width: 100%; height: 250px;'/></ul>

</div>

<script type='text/javascript'>
// -1 para todas o poner la cantidad a mostrar.

var uP = {

nPost : -1

};

var cP = {

totCount : 0,

increment : 10,

// éste es el lugar para definir el nombre del blog para los datos subsecuentes de la recuperación.

web : &quot;loseasi.blogspot.com&quot;,

listPosts: function(json, tag) {

var text=&quot;&quot;;

for (var i = 0; i &lt; json.feed.entry.length; i++) {

var entry = json.feed.entry[i];

text += &quot;<li>&quot; + &quot;&lt;a href=&#39;&quot; + cb.getLink(entry, &quot;alternate&quot;)

+ &quot;&#39;&gt;&quot; + cb.getTitle(entry) + &quot;</li>&quot;;
}
var p = document.createElement(&#39;span&#39;);

document.getElementById(tag).appendChild(p);

p.innerHTML = text;

},

callPostJson: function(json) {

this.listPosts(json, &quot;dataPost&quot;);

},

getCo : function(json) {

this.totCount = cb.getTotalResults(json);

var count = (uP.nPost &lt; 0) ? this.totCount : uP.nPost;

var i=1;

while(i&lt;=count) {

var incr = (count-i &lt; this.increment) ? count-i+1 : this.increment;

cb.search( cP.web, &quot;posts&quot;, i, incr, &#39;cP.callPostJson&#39;);

if (incr==0) incr=incr+1;

i = i+incr;
}
}
};
cb.search( cP.web, &quot;posts&quot;, 1, 2, &#39;cP.getCo&#39;);
</script>
</b:includable>
</b:widget>

4- Cambiamos donde dice: loseasi.blogspot.com por la url de nuestro blog sin el http://

Donde dice: nPost : -1 es donde haremos los cambios para mostrar un número de títulos de entrada ilimitado, es decir, todas las entradas del blog actuales y las que vayamos publicando o para mostrar solo el número de títulos que nos interese de las últimas entradas publicadas.

Si vamos a mostrar todas las entradas dejaremos este valor tal cúal está en -1, en cambio, si solo queremos mostrar las veinte últimas entradas por ejemplo, cambiaremos ese valor a 20.

Si vamos a usarlo para las últimas entradas, recordaremos cambiar el título del widget por algo más apropiado.

Esta parte del código: style='height:250px; overflow:auto; es una barra de scroll (scrollbar), cuando el alto del widget sobrepase los 250px, podéis reducir o ampliar su altura cambiando el valor en height.

Fuente

0 comments:

Post a Comment