Después de un mes desaparecido, he vuelto con muchas cosas nuevas. Este mes de diciembre tiene pinta de ser muy productivo aunque generalmente es todo lo contrario.
El tema que hoy me ocupa surgió al iniciar un nuevo blog en Blogger. Ya os hablaré más adelante de ese proyecto que estoy recién comenzando. Pues bien, me vi en la necesidad de crear entradas nuevas sin que estas aparecieran en ningún momento en la pagina principal del blog. Cuestión de estetica, pero tambien de organización.
La primera solución, que me fue de mucha ayuda, me vino de la mano de blog GemmaBlog (aquí mismo recomiendo su lectura, un gran blog), donde explicaba como ocultar entradas de la página principal, justo lo que yo necesitaba hacer. Su solución es buena y funciona, pero tiene un inconveniente, no funciona si dicha entrada tiene más de una etiqueta. De hecho, incluso me paso que salían entradas duplicadas.
Esto me forzó a buscarme las castañas yo solito y basandome en su solución, todo hay que decirlo, la modifiqué para que funcionará como yo quería. De este modo, consigo ocultar entradas de la página principal del blog, incluso si estas tienen varias etiquetas.
Lo primero que debes hacer es leer bien este post, pulsar en Diseño-> Edición de HTML y hacer una copia de tu plantilla.
Expandir las plantillas de artilugios y a continuación, busca el siguiente código en tu plantilla y añade el texto que marco en rojo
<div class='blog-posts hfeed'>
<b:include data='top' name='status-message'/>
<data:defaultAdStart/>
<b:loop values='data:posts' var='post'>
<!-- Anadido por Jose-->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.isLast'>
<b:if cond='data:label.name != "zzOculto"'>
<h2 class='date-header'><data:post.dateHeader/></h2>
<b:include data='post' name='post'/>
</b:if>
</b:if>
</b:loop>
<b:else/>
<!-- Anadido por Jose-->
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "static_page"'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:blog.pageType == "item"'>
<b:include data='post' name='comments'/>
</b:if>
<b:if cond='data:post.includeAd'>
<b:if cond='data:post.isFirstPost'>
<data:defaultAdEnd/>
<b:else/>
<data:adEnd/>
</b:if>
<div class='inline-ad'>
<data:adCode/>
</div>
<data:adStart/>
</b:if>
<b:if cond='data:post.trackLatency'>
<data:post.latencyJs/>
</b:if>
<!-- Anadido por Jose-->
</b:if>
<!-- Anadido por Jose-->
</b:loop>
<data:adEnd/>
</div>
Está modificación lo que hace es ocultar todas aquellas entradas cuya última etiqueta sea distinta de "zzOculto". Si quieres ocultar una entrada en la página principal simplemente debes añadirle la etiqueta "zzOculto". Y ahora, explico el porqué de las z, que seguro os lo estáis preguntando. Blogger ordena las etiquetas alfabeticamente, las dos zetas aseguran que esa etiqueta será la última en el orden alfabetico. A menos que tengas una etiqueta con tres zetas al principio de su nombre, en ese caso, modifica este código que te doy cambiando "zzOculto" por "zzzz" o la etiqueta que tu quieras, pero que sea la última, sino, no funcionará.
Sucio pero eficaz... jeje!


Interesante. Justo en estos días me estaba preguntando si sería posible truquear un blog de Blogger para que parezca una página web normal, o sea, un solo post en el inicio y las demás invisibles.
Espero que te haya servido la solución que aquí aporto. Un Saludo y Muchas gracias por tu comentario.
Y ¿cómo puedo hacer para que no me aparezca la fecha repetida?
Porque, aunque el post desaparece, las entradas quedan así: http://i49.tinypic.com/21jx65k.jpg
Hola, Alwena: Creo que el problema de la fecha repetida viene por tu plantilla. Prueba a cambiar la configuración de tus posts en Diseño -> Elementos de la página. Desactiva la fecha en la configuración de las entradas de tu blog.
Un saludo.
Muy bueno. Muchas gracias.
Funciona a la perfección, gracias por el truco ;)
hola al aplicar el script no me aparece en la página principal la barra lateral derecha...¿alguna solución?Gracias.
Hola Remix,...
Tal y como está el script debería funcionarte perfectamente. De todas maneras si me pasas la dirección de tu página le echo un vistazo y te comento.
Fíjate bien si has copiado correctamente el script. Sobre todo si cierras el último bloque if que se ve en rojo. Me da a mí, que puede ser algo de eso.
Un saludo.
Muchas gracias Jose.
Curiosamente he utilizado esas líneas de código de otra manera, pero me han servido de mucho. Me he fijado que las entradas sin etiquetas no salían y aprovechando eso voy a ocultar las entradas (borrando sus etiquetas). De hecho mejor, porque así tampoco sale en el listado de etiquetas (que antes salía la etiquea "Oculto" con lo que muy oculto no me quedaba).
Roberto.
Muchas gracias, si funciona :)
Enhorabuena Jose, funciona perfectamente, he estado repateandome internet en busca de alguna posible solución y gracias a tí lo he encontrado.
Un saludo
Amigo necesito ayuda, no consigo bien los codigos. Será que te paso la plantilla de mi blog y tu me la editas?
Dices que solo tengo que agregar lo que está en rojo? así lo he hecho, pero no me funciona, me da un error con la etiqueta de cierre b:if, pero creo que la he colocado bien. No sé que pasa.
Aquí está la parte que del código de la plantilla: http://pastebin.com/SEFg0c7K
A mi se me desaparecen todas las entradas que tenía
se borra de la pagina principal pero sigue apareciendo en blog archives
Hola José,
Son analfabetohtmliano =) pero estoy muy interesado en aplicar esto en mi blog, para hacer un apartado de mini-pos. Ya tengo un menu que me busca las etiquetas y me las pone en las sidebar. La idea es que los post que tengan esa etiqueta no aparezcan en la pagina principal.
Mas o menos lo que expones aqui. Pero trato de aplicar esto que dices, y no me sale. Mi plantilla es distinta y no encuentro donde poner bien los codigos, sobre todo el /if de cierre.
Me podrias echar un cable con eso, te lo agradeceria un monton
Saludos
Muchas gracias después de ir a tres lugares el tuyo fue que me sirvió.
Hola, sabes en mi plantilla de blogger no aparecen esos parámetros que dices donde colocar los códigos para ocultar los post, le he dado la vuelta al HTML y no hay caso, no se si estoy haciendo algo mal. ¿podría ser que no funcione para todas las plantillas?
cuando lo pongo sigue ahi
Tengo una plantilla y al poner el codigo se me descuadra la fila derecha se pone debajo
Al colocar el codigo resulta que el sidebar se desplaza hacia otro lado quedandome desubicada totalmente asi que no puedo aplicar el codigo porque se me desconfigura T.T este es mi blo http://bookzingaforo.blogspot.com/
Esta muy bn, pero lo hize y ahora se ocultaron todas las entrada, lo que quiero es que todas las entrada se publiquen por defecto en la pajna principal, pero las que quiero ocultas en alchivo poderla ocultar, si alguien me puede dar una explicadita se lo agradeciria
esta bueno solo que al colocar el codigo se desconfigura la pagina, alguien tendra alguna solución para eso? en verdad se los agradeceré mucho
hola ahora que puse el codigo ya no me muestra ninguna entrada
http://www.marketing2013hugovega.blogspot.com/
alguien sabe porque se ocultan todas las entradas ahora?