¿Qué es data:numPosts?

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.

0 comentarios:

Publicar un comentario