JMiur [E]

Cada vez que uno se pone a mirar en las plantillas de Blogger se encuentra con sorpresas, códigos que se agregan, códigos que cambian, códigos misteriosos, códigos que ellos no explican para qué están.

Como la Plantilla Mínima es la referencia obligada para estas cosas, ahí vamos y si la expandimos, veremos que en el LOOP, que es donde se muestran las entradas del blog, hay una serie de datos extras que antes no estaban; por ejemplo:
<b:if cond='data:post.isDateStart'>
<b:if cond='data:post.isFirstPost == &quot;false&quot;'>
&lt;/div&gt;&lt;/div&gt;
</b:if>
</b:if>
<b:if cond='data:post.isDateStart'>
<div class=&quot;date-outer&quot;>
</b:if>
.......
<b:if cond='data:post.isDateStart'>
<div class=&quot;date-posts&quot;>
</b:if>
.......
<b:if cond='data:numPosts != 0'>
&lt;/div&gt;&lt;/div&gt;
</b:if>
No, no hay error en la transcripción, así está escrito, usando &lt; y &gt; aunque no parece haber razones para complicarlo de ese modo, supongo que es porque sino, el mismo Blogger dice que hay un error de sintaxis ya que se cierran etiquetas que no se han abierto ... muy confuso, parece un parche verguenzaanim

Tal vez, eso tenga algo que ver con Adsense que parece ser lo único que les preocupa o algo que se implementará en el futuro de alguna manera o vaya uno a saber qué pero, todo eso genera DIVs extras; todas las entradas de una misma fecha se encuentran en un DIV con una clase CSS llamada date-outer que a su vez está dentro de otro con una clase llamada date-posts. Cada entrada, dentro de otro DIV con la clase post-outer y recién dentro de esta se encuentra el que siempre veíamos y que tiene la clase post:
<div class='date-outer'>
<div class='date-posts'>
<div class='post-outer'>
<div class='post'>
... la entrada 1 ...
</div>
</div>
<div class='post-outer'>
<div class='post'>
... la entrada 2 ...
</div>
</div>
</div>
</div>
¿Para qué lo habrán complicado? Ni idea.
¿Puede borrarse todo eso? Sí pero deberían chequear el resultado, aparentemente no sirven de nada y la mayoría de las plantillas no los tienen.

Sea como sea, hay dos datos que ahora son accesibles y que podemos usar ... aunque no sé para qué.

data:post.isDateStart devuelve TRUE si la entrada es la primera de una fecha; es decir, si tenemos varios posts publicados el mismo día, el primero de ellos devolverá ese valor y todos los demás FALSE

data:numPosts devuelve un número que es igual a la cantidad de entradas en la página, es decir 1 si es una entrada individual o el valor que hayamos establecido en Configuración | Formato cuando se trata del home o de páginas como etiquetas o archivos.

Así, a simple vista, un condicional como:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
... cualquier contenido ...
</b:if>
parece ser equivalente a:
<b:if cond='data:numPosts == 1'>
... cualquier contenido ...  
</b:if>
pero no es cierto; el primero mostrará el contenido sólo en las páginas individuales pero el segundo también lo hará en cualquier otra página donde sólo haya una entrada como una página de etiquetas con sólo un resultado.

Tal vez, es un dato que podría emplearse para detectar páginas sin entradas; por ejemplo, si usamos un buscador interno, podríamos buscar:
<b:includable id='main' var='top'>
y justo debajo de:
</b:loop>
colocamos un condicional que muestre algún tipo de información cuando no se encuentra algo:
<b:if cond='data:numPosts == 0'>
... aquí ponemos nuestro código ...  
</b:if>
Un ejemplo bastante tonto: http://baverqpsa.blogspot.com/search?q=cualquiercosa verguenza

Con un poco de imaginación podríallegar a desarrollarse alguna págína de error 404.

8 comentarios:

SpamLoco  

http://vagabundia.blogspot.com/search?q=jajajaja

:D

Responder
JMiur  

Ooops, esa tampoco existe :D

Responder
Graciela  

No tan tonto 'ba ver que pasa' no me escribas en código que te lo descifro ;)

Responder
JMiur  

Esta vez es polaco, hungaro, chino, esperanto? :D

Responder
Graciela  

los tres juntos y algunos más :P
pero calé la intencionalidad del link, eso ya es un gran adelanto ;)

Responder
JMiur  

Vamos mejorando, entonces :D

Responder
A D I S P A  

Utilizando esta variable mediante un condicional en sentido negativo, he podido poner un separador de entradas sólo en las páginas en que había varias. Asi no aparece el separador ni entradas individuales, ni en páginas estaticas, ni en las de etiquetas o las cronológicas con sólo una entrada. Esto se ajustaba exactamente a lo que perseguía por lo que le doy las gracias. Saludos.

Responder
JMiur  

Exacto, sirve justo para eso. Me alegra que le hayas encntrad utilidad ya que el tema de detectar los errore no funciona más porque Blogger ha cambiado el sistema.

Responder

¿Quiere dejar un comentario?

recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...

Todos los archivos y demos alojados en Fileden han sido redireccionados y deberían estar funcionando correctamente.
De todos modos, también puede accederse a ellos a través de SkyDrive

Nota: sólo los miembros de este blog pueden publicar comentarios.

Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.

Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...

 
CERRAR