Mostrar o esconder artilugios en páginas secundarias | Oloblogger Este es un truco muy sencillo para hacer precisamente eso: mostrar un artilugio en la página principal de vuestro blog y que luego no aparez...

30 de diciembre de 2007

Mostrar o esconder artilugios en páginas secundarias

Este es un truco muy sencillo para hacer precisamente eso: mostrar un artilugio en la página principal de vuestro blog y que luego no aparezca en el resto de páginas. También se puede aplicar para que sea a la inversa.

Al grano: Creamos un elemento de página de cualquier tipo y en cualquier parte de nuestro blog. Por facilicidad, de momento le ponemos un título al artilugio. Sea por ejemplo un código HTML con el nombre PRUEBA.

Editamos nuestra plantilla pinchando previamente en Expandir Artilugios (como es lógico en este caso) y con CTRL+F buscamos el nombre del elemento (PRUEBA en esta ocasión).

Podremos ver algo parecido a ésto.

<b:widget id='HTML3' locked='false' title='PRUEBA' type='HTML'>
<b:includable id='main'>

<b:if cond='data:blog.homepageUrl != data:blog.url'>

<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>

</b:if>

</b:includable>
</b:widget>

Lo que hemos marcado en verde es precisamente lo que hemos añadido para que se muestre sólo en páginas distintas (!=) a la URL de la página de inicio. Para que algo sólo se muestre en la página de inicio, habría que sustituir esos dos caracteres por ==.

Ahora podemos editar de nuevo el elemento y quitarle el titulo que le habíamos puesto para localizarlo rápidamente.

Ya está. Tenemos cosas que se ven sólo en portada y otras cosas que sólo se ven en páginas interiores. Dije que era fácil ¿no?

¿Vemos otro post al azar por si le encuentras utilidad o quizás prefieres ser más metódico y suscribirte a nuestras entradas por correo? También puedes imprimir este artículo y por supuesto compartirlo en redes sociales si fue de tu agrado.

Compartir
Copy URL

Y muchos más artículos interesantes si nos sigues en...

follow us in feedly

50 comentarios :

  1. ¡mil gracias!

    Andaba buscando esto desde hacía rato, y nomás no daba como construir la función... que hábil solución...

    Cuídese...

    ResponderEliminar
  2. Oye
    soy nueva en esto, pero algo entiendo.
    mi duda es que esto sirve para que las paginas (entradas de mi blog) puedan aparecer solo linkeadas en el menu?.
    porque no encuentro como hacer para que no aparezcan en la pagina principal sino solo al linkearlas en el menu.
    ayudame

    ResponderEliminar
  3. Desde luego sería una forma de hacerlo, pero no he comprobado si habría algún inconveniente. Esta entrada estaba pensada para quitar algunos elementos, pero no los elementos principales: las entradas.

    Date una vuelta por esta otra entrada a ver si es lo que quieres.

    ResponderEliminar
  4. Hola, felicidades por el Blog, buscaba algo como esto.
    Mi pregunta es la siguiente, como puedo poner un buscador que tengo en el Blog arriba en la cabecera al lado del título? Pero que salga siempre
    Gracias, un saludo

    ResponderEliminar
  5. Domingo:
    1. Elimina la cabecera
    2. En el espacio que dejas añades un elemento HTML
    3. El nuevo elemento que sea una tabla con una fila y dos columnas (dos celdas). En la primera celda el nombre del blog (o el dibujo de cabecera que quieras) y en la segunda celda el buscador
    4.¡Tachannnnnn!

    Como hacer lo de cambiar la cabecera lo tienes en una entrada y lo de las tablas en otra.

    Si no estás muy ducho en el tema, haz pruebas en otro blog, porque en este caso no te vale la "Vista Previa".

    Si te fijas un poco, verás que yo tengo así la mía. El nombre es una celda y el lápiz otra.

    Saludos,

    ResponderEliminar
  6. Gracias oloman por la excelente explicación y tan detallada, me pongo manos a la obra en cuanto pueda y ya te contaré como me ha ido.
    Un abrazo muy grande

    ResponderEliminar
  7. Hola, ante todo muchas gracias por los consejos que das, son muy de agradecer sobre todo a una novata como yo. Estoy intentando hacer un blog de la familia (vaaaale!, nada original pero muy practico cuando tienes al resto de la familia a 11000kms). Me gustaría que algunos de los enlaces se me abrieran en la misma página pero sin el resto de entradas (e.j. teléfonos de contacto, álbum de fotos, etc). He probado con el código que explicas y no me ha funcionado o no he sabido hacerlo.
    Te agradeceré enormemente tu ayuda a esta pobre inepta del blog, que haré extensible a la calificación de "eternamente" sí además esa ayuda funciona.
    PD
    Por favor no te rías "excesivamente" de mi intento de construcción... bueno solo un poquito.
    Saludos y gracias de nuevo
    Francisca

    ResponderEliminar
  8. Discúlpame Oloman, pero no consigo entender del todo cuál es la finalidad de esto en un blog.

    ¿Podrías remitirme a alguna página que tenga esta modalidad o poner un ejemplo práctico, si no es mucha molestia?

    Comprendo que tienes mucho trabajo y más cuando te encuentras a una principiante como yo, que tiene muchas ganas de aprender pero que le fallan las neuronas (¡ya sabes, la edad, mi niño, la edad!)

    Muchas gracias por atenderme y por soportar mis comentarios.

    ¡Regálame una sonrisa, por favor!

    ¡Cuídate!

    Besos,

    Vesta, desde mi corazón.

    ResponderEliminar
  9. Tur/Vélez, me da la impresión que lo que quieres es que algunos de tus apartados no aparezcan como una entrada. Esto en un blog no es posible del todo, pero puedes hacer un apaño que queda explicado en este enlace.
    Suerte

    ResponderEliminar
  10. Este es para Vesta: Supón que tienes un buscador en tu página principal, la de inicio del blog donde salen las últimas entradas. Ahora, no quieres que aparezca cuando visitas una entrada en particular. Este es el caso que se explica.

    Es válido para cualquier artilugio de la plantilla. Con imaginación, puede tener bastantes aplicaciones.

    Saludos,

    ResponderEliminar
  11. Hola oloman, que tal?. Como he aprendido ha desvaratar y armar blog con tus consejos, truquillos y cosillas, gracias y felicidades por compartir tus conocimientos. Ahora viene lo bueno, necesito cambiar el fondo que tienen los post pero solo para la pagina principal. Es decir, no quiero que el fondo del post me aparezca en la pagina inicial, ya que estoy utiliznado tu truquillo de "Blog con pantalla de presentacion".
    Para que veas que he aprendido, se como quitar el fondo, pero para todos los post, pero no es eso lo que necesito. Bien, saludos y en espera.

    ResponderEliminar
  12. Hola oloman,

    lo primero muchas gracias por tus ayudas, son muy útiles.

    Quería saber si este truco se puede usar para que los widgets o artilugios se muestren en algunas páginas secundarias pero no en otras. Te pongo un ejemplo.

    Quiero que un texto salga cuando se busque una etiqueta, y que otro salga cuando busco otra. Por ejemplo, quiero que si se busca "unblog.blogstpot.com/search/label/Categoría 1", aparezca un artilugio diferente a si se busca "unblog.blogstpot.com/search/label/Categoría 2".

    No sé si me he explicado muy bien pero agradecería tu ayuda.

    ResponderEliminar
  13. Te has explicado perfectamente Jose Felix.

    No lo he podido probar porque se ve que esta tarde Blogger está un poco chungo y no me deja modificar código de plantilla, pero en un principio, no creo que de problemas.

    La condición en este caso tendría que ser:

    <b:if cond='data:blog.url == "http://unblog.blogspot.com/search/label/Categoría 1"'>

    ResponderEliminar
  14. Oloman, a mi no me funciona tal y como dices que hay que cambiar, a ver si podemos sacarlo entre los dos, que me es bastante importante. ¡Gracias!

    ResponderEliminar
  15. No puedo probarlo porque me da un "error al ejecutar su solicitud". Me pasa con cualquier cambio en el código, no sólo con este.

    Lo he intentado pasado un tiempo, entrando y saliendo, pero nada. Probaré otra vez esta noche o mañana.

    Saludos.

    ResponderEliminar
  16. Definitivamente hay algún problema con Blogger, porque he leido en varios sitios que no pueden modificar sus plantillas... algunos desde hace un par de semanas.

    No me olvido.

    ResponderEliminar
  17. Cardio, no entiendo el problema. Si pusiste número de entradas CERO, en la página de inicio no deberías tener ningún post y, en consecuencia, ningún fondo de post.

    ResponderEliminar
  18. Justo pasaba a consultarte sobre estos problemas de Blogger a ver si sabías algo.
    Recién hoy me fue posible modificar la plantilla de artilugios, porque sólo con ella era el problema. En los grupos de Google hay varias quejas con el mismo error, pero hasta ayer toda la respuesta de los colaboradores era derivarnos a un formulario de error para dejar constancia.
    No creo que sea nada grave, son cosas que pasan de vez en cuando -pero que susto me di pensando que había arruinado la plantilla!!!-.
    Saludos.

    ResponderEliminar
  19. Jose Félix, acabo de poder comprobar el código que te dije y funciona perfectamente. Sólo se muestra el widget cuando la página tiene la dirección indicada.

    Ojo con lo que aquí pone como comillas dobles ( " ), porque en el código lo tendrás que poner como & quot ; (sin espacios9

    " = & quot ;

    Todo ello entre comillas simples ( ' ), lo que quiere decir que al final te tiene que quedar un & quot ; '

    Lo siento pero aquí no puedo escribir código sin que el navegador lo interprete.

    ResponderEliminar
  20. Hola Oloman, que tal?. Gracias por responder. Hombre, ya somos dos los que no entendemos el problema. Efectivamente puse cero en la pagina inicial del blog, pero aun asi me aparece el fondo que trae la plantilla para los post. Decidi, despues de probar por todos lados y no poder quitarlo, dejarlo asi. Claro, seguire investigando en lo posible para solucionar ese detalle.

    ResponderEliminar
  21. hola, q pena por revivir este post.pero es muy interesante.

    mira estoy en mi pagina www.cienciaexplicada.com

    ya hice lo de esconder artilugios en mis post secundarios, y tengo 1 pregunta.

    la primera es :

    en cada pestaña matematica,fisica,quimica. hacer un indice parecido al que hay en esta pagina

    http://vagabundia.blogspot.com/2006/09/indice-htmlcss.html

    mi pregunta es como poder desplazar la escritura del texto o mejor dicho modificarlas para que solo en esas paginas se pueda.

    e intentado y probado y nada.

    ResponderEliminar
  22. Hola Daltonico24. Para hacer eso de forma automática, sólo conozco una manera y es utilizar este otro índice. Luego echa un vistazo al comentario #15, dónde se explica cómo mostrar una sola etiqueta. Para cada pestaña, utiliza la que corresponda.

    ResponderEliminar
  23. hola gracias por responder. ps no hay necesidad que sea automatico, pero mi pregunta seria de como poder expandir la escritura sin que quede como una entrada, que paresca una pagina estatica de solo indice, como esta

    http://vagabundia.blogspot.com/2006/09/indice-htmlcss.html

    si miras en el inicio es un blog normal pero en esa pagina se amplia la escritura para que quede como un indice.

    como lo podria hacer

    ResponderEliminar
  24. Vale, ahora me parece entender lo que quieres. A ver si fuera esto.

    ResponderEliminar
  25. uff te ganaste el cielooo!!! gracias!! es precisamente lo que buscaba.....

    como te lo puedo agredecer.

    ya se cuando tenga bien formada la pagina te pongo un link de agredicimiento

    ResponderEliminar
  26. Hola!! MUCHAS GRACIAS!! ME FUE MUY ÚTIL!!! :D
    SalU2 desde México

    ResponderEliminar
  27. Un millón de gracias!!he usado este truco en un montón de cosas, para las paginas estaticas y para "paginas" de enlaces de categorias, para quitar enlaces de navegacion en sitios que no me interesaban, para ocultar otras cosillas, para ocultar la cabecera pero si salgan las pestañas... y es que estoy entusiasmada y tenia que contartelo ;D

    ResponderEliminar
  28. Liyiss, pues no sabes la ilusión que hace que os entusiasmen tanto las cosas que por aquí se escriben. Gracias a tí por contarlo.

    ResponderEliminar
  29. Hola Oloman! Está muy bien este truco, pero me preguntaba si existe la posibilidad de ocultar los gadgets tanto de la principal como de las entradas. Tengo unos de HTML para modificar la fuente y no quiero que se vean, pero tengo un dibujito que separa cada gadget...si pudieras ayudarme por favor!! Si no se entiende muy bien lo que intento explicar, puedes verlo en mi blog (aún en construcción!) http://nubedesabores.blogspot.com
    Muchas gracias!

    ResponderEliminar
  30. Eneri, la forma más rápida y eficaz que se me ocurre es que desde Elementos de Página, muevas esos gadgets "invisibles", a la parte inferior, debajo del cuerpo de las entradas (también lo podrías poner encima de estas), porque supongo que el separador sólo lo tendrás programado para la barra lateral.

    ResponderEliminar
  31. Muchísimas gracias Oloman!! Tenías toda la razón! Asi ha funcionado! Asi me ha quedado mucho mejor!

    ResponderEliminar
  32. disculpa otra vez ke sea el mas tonto pero como utilizo este codigo para ocultar la barra que te dije en el otro post?? disculpa pero no se mucho de css o html

    ResponderEliminar
  33. He visto anticipadamente tus otros comentarios dispersos por varias entradas y ya vi que lo solucionaste, Rodrigo, pero debes saber que si ocultas el post-footer tal y como lo has hecho, desaparecerá en TODAS las páginas.

    Sin embargo, lo normal es que sí quieras que aparezca en las entradas individuales. Si así lo quieres, se hace como se explica aquí.

    Tienes que quitar el CSS con el display:none que insertaste y luego buscar en tu plantilla el div class='post-footer' y justo antes insertar algo así:

    <b:if cond='data:blog.homepageUrl == data:blog.url'>
    <style type='text/css'>
    .post-footer {display: none;}
    </style>
    </b:if>

    En la entrada sobre condicionales tienes explicado como funcionan estos.

    ResponderEliminar
  34. Muy buena la explicación Oloman. Gracias por este truco, pensé que era más difícil pero ahora veo que su aplicación es sencilla.

    ResponderEliminar
  35. Olmo Axayacati tarde pero he visto por fin tu comentario. Gracias a tí por pasarte tan frecuentemente por aquí.

    ResponderEliminar
  36. Hola:

    He conseguido que funcione la condición pero, aunque desaparece el contenido queda un recuadrito como con el espacio reservado para los gadgets que he eliminado por condición. Si ves http://www.rolleando.com/p/escuela-de-patinaje.html debajo del primero quedan dos bloques finos correspondientes a los que he ocultado por condición. Cómo hago para que estos no0 aparezcan?
    Gracias

    ResponderEliminar
    Respuestas
    1. El contenido del gadget no se muestra, pero el gadget en sí mismo sí. El problema es que todos los gadgets tienen en tu plantilla un padding y un border (entre otras propiedades)
      .main-inner .widget {
      ...
      border: 1px solid #222;
      padding: 0 15px 15px;
      ...

      Y esos huecos y bordes sí que se "ven". Si pruebas a cambiar a border:0; y padding:0; verás como se soluciona. Lo que ocurre es que deberás comprobar que no se te fastidian otras cosas, porque como dije al principio, esa clase afecta a todos los gadgets.

      Si se pudiera poner la condición antes de b:widget el problema se solucionaría sin tener que tocar nada, pero Blogger no lo permite.

      Eliminar
  37. No se ha podido analizar su plantilla, porque no está bien formada. Asegúrese de que todos los elementos XML se han cerrado correctamente.

    Error 500


    LO HE PROBADO TAL Y COMO LO DICE EN EL POST PERO NO ME FUNCIONA...
    TAMBIEN LO QUISIERA PROBAR CON "ENTRADAS DEL BLOG" QUE NO SE MUESTREN EN LA PAGINA PRINCIPAL. ABRAZO OLOMAN

    ResponderEliminar
  38. Mensaje de error de XML: The element type "body" must be terminated by the matching end-tag "</body ".

    me falto eso..

    ResponderEliminar
    Respuestas
    1. Ese tipo de errores se producen cuando te comes carácter de apertura o cierre (<>), unas comillas o algo similar. Tendrás que repasar lo que tecleas.

      Eliminar
    2. Bueno ya solucione ese problema, ahora lo que yo quiero es "esconder" las entradas, que no se vea la seccion "Entradas del Blog" ni la barra lateral mientras estoy en la Home, solo que se vea el footer con mis 3 columnas, y luego cuando se acceda a algun post, solo se vea "Entradas del Blog" + la barra lateral, pero NO el footer!

      Es muy complicado eso?

      Abrazo Oloman!

      Eliminar
    3. Se hace de la misma manera, pero usando la condición con las distintas secciones (section). Lo más cómodo es hacerlo sin expandir artilugios, aunque no recuerdo si Blogger admite ahí las condiciones o tendrás que abrirlos para hacer como con los gadgets. La única dificultad es que según te quede, tendrás que meter también justo después de la condición, una etiqueta style con las propiedades CSS oportunas para cambiar los anchos de los elementos que sí se verán y que ocupen el espacio que los otros dejan.

      Eliminar
    4. Ok, va a ser un trabajo dificil, pero lo tratare!

      Te aviso como me fue oloman!

      Abrazo

      Eliminar
    5. Ahora si me fue bien!!

      Si bien no pude esconder la sidebar de una, ya que tuve que esconder Gadget por gadget, me fue bastante bien!!!

      Abrazo Gigante y a seguir explorando Oloblogger en busca de mas cosas interesantes!!

      Abrazo Gigante!

      Eliminar
  39. Hola Oloman!
    hay alguna manera de hacer de esto algo más automático como, por ejemplo, agregando una etiqueta a cada post y que esa etiqueta sea la que de la "orden" de estar oculta?
    No se si me estoy explicando bien, son mis primeras veces modificando código HTML y todavía no se muy bien qué estoy haciendo.
    Temo que, de este modo que explicás acá, tenga que ir a modificar el código cada vez que cree una nueva entrada que quiera que aparezca en una de las páginas pero no en la principal. Busco un modo de automatizarlo (se me ocurría que con etiquetas podía ser más fácil) para no tener que hacerlo cada vez.
    Te dejo mi blog por si necesitas mirarlo: www.ladeojosabiertos.com.ar (específicamente, lo que quiero ocultar de la principal son todos los posts con la etiqueta "Meditación").
    Ojalá puedas ayudarme y te doy las gracias desde ya!

    ResponderEliminar
  40. (Ah!, por cierto... verás que estoy utilizando tu plantilla Elegante V2, es excelente! Gracias!)

    ResponderEliminar
    Respuestas
    1. Hola. Lo que aquí se explica es cómo esconder GADGETS y tú lo que quieres ocultar son ENTRADAS. Lo primero es relativamente fácil, pero lo segundo no tanto. Yo de hecho no he encontrado todavía una manera óptima. El problema es que hay que programar cuantas entradas mostrar por página desde el Escritorio (en tu caso tienes 5) y si condicionamos que las de ciertas etiquetas no se vean -que se puede- esas ocultas se restan de las que debe tener la página, quedando normalmente mal.

      Si por ejemplo tienes 5 programadas y coinciden 2 con la etiqueta a ocultar, en portada se verían sólo 3. Imagina tu diseño así. Puede que haya otra manera de hacerlo, pero a mí sólo se me ocurre con condiciones y como digo, eso no funciona bien.

      Eliminar
    2. Gracias por tu respuesta Oloman!
      He estado probando con algunas cosas (por ejemplo lo que se aconseja aquí: http://www.ayuda-bloggers.info/2013/03/blogger-entradas-etiquetas-inicio.html) pero no hay caso. No me queda nunca bien.
      Entiendo tu explicación y creo que puede ser por esto que me decís. Cuando seguí los pasos del tutorial que copié más arriba, pude ocultar las entradas pero las demás (las que no estaban ocultas) se duplicaban o triplicaban. Un verdadero desastre.
      Finalmente opté por poner todas las entradas que quería ocultar dentro de una página estática y las borré de la página principal (con lo incómodo que es tener que escribir un continuo de texto y no poder etiquetar), pero bueno... por ahora sirve.
      Un abrazo!

      Eliminar
    3. Otro truco más sencillo sería dejarlas como entradas, pero ponerles una fecha antigua. Así no saldrían en portada. Si usas una fecha de hace años (2001 por ejemplo) todas quedarán además como más antiguas, al final.

      Eliminar