Acabo de publicar Regala Google Chrome por navidad |

Avisos flotantes condicionados

By Miguel Ángel Jiménez Achinte On 22:03

Hace unos dias explicaba como poner un letrero flotante con la posibilidad de cerrarse y abrirse con un simple click. Leyendo un poco sobre codigos condicionales en blogger se me ocurrio que tal vez podriamos mostrar un mensaje dependiendo del area del blog en la que nos encontremos. Por ejemplo, si estamos entrando a una etiqueta en especial se mostraria un letrero como este: "Estas entrando a la zona juegos, no olvides calificarme en juegos.com" o algo como "Pareces estar interesado en esta movida, entra al grupo en facebook y participa del foro"...las posibilidades son infinitas y no solo se puede hacer con las etiquetas, sino tambien con la pagina principal, las paginas individuales, segun la dirección de un post o el nombre de una entrada. Esta última nos puede servir cuando algo de lo que se dice ahi haya cambiado, por ejemplo que un script deje de funcionar o alguna actualización que requiera la atención del lector.

Los codigos no son para aprenderselos, pero en esta entrada J.Miur de Vagabundia nos explica paso por paso como funcionan y como podemos hacerlos trabajar juntos.
Los siguientes codigos deben pegarse donde se quiere que aparezcan:

Aviso Flotante solo en la pagina principal

Cualquier texto, imagen o codigo que se ponga entre las siguientes lineas solo se verá en la pagina principal:


<b:if cond='data:blog.url == data:blog.homepageUrl'>
esto se mostrará sólo en el home
</b:if>

O podemos hacer que NO se muestre cuando estemos en la pagina principal cambiando solo una parte de la primera linea:

<b:if cond='data:blog.url != data:blog.homepageUrl'>
esto se mostrará sólo en el home
</b:if>

Aviso Flotante solo en las paginas individuales

Cualquier texto, imagen o codigo que se ponga entre las siguientes lineas solo se verá en una pagina individual, es decir una pagina que solo contenga una entrada:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
esto sólo se mostrará en una entrada individual
</b:if>

Aviso Flotante solo cuando se navegue en una etiqueta

Cualquier texto, imagen o codigo que se ponga entre las siguientes lineas solo se verá cuando estemos navegando por una etiqueta, es decir cuando se listen las entradas con esa etiqueta en comun:

<b:if cond='data:blog.pageName == &quot;NOMBRE_ETIQUETA&quot;'>
esto sólo se mostrará cuando se navegue por la etiqueta NOMBRE_ETIQUETA
</b:if>

o bien:

<b:if cond='data:blog.url == &quot;http://miBlog.blogspot.com/search/label/NOMBRE_ETIQUETA&quot;'>
esto sólo se mostrará cuando se navegue por la etiqueta NOMBRE_ETIQUETA
</b:if>

Aviso Flotante solo cuando se navegue en determinada entrada

Cualquier texto, imagen o codigo que se ponga entre las siguientes lineas solo se verá cuando estemos navegando por una entrada en especial, es decir cuando visitemos la pagina que contiene la entrada que especifiquemos:


<b:if cond='data:blog.url == &quot;http://miBlog.blogspot.com/2009/02/nombre-de-la-entrada.html&quot;'>
Esto solo se mostrará si navegamos por una entrada con esta dirección
</b:if>

o bien:

<b:if cond='data:blog.pageName == &quot;Nombre de la entrada&quot;'>
Esto solo se mostrará si navegamos por una entrada con este nombre
</b:if>

Si queremos agregar mas de un codigo condicional en el blog lo mejor es que los relacionemos, es decir que una condicion se cumpla si y solo si otra no se cumple. El porque de hacer esto puede explicarse como una posible confución con el script para cerrar el letrero y puede observarse si ponemos una condición para las paginas individuales y a la vez una para una entrada en especial (que a su vez tambien es pagina individual). Piensalo con un ejemplo cotidiano...por ejemplo si mañana no voy a trabajar entonces me quedo en casa con mi familia, pero si voy a trabajar no podré pasar el dia con ellos.
Es muy facil si lo piensas de esa manera:

Empezamos creando una condición, en ella decimos que su contenido se debe mostrar en una pagina individual:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
Aqui el contenido
</b:if>

Ahora creamos una condicion dentro de esa condición, la instrucción es que si no estamos en una entrada de nombre script entonces se debe mostrar su contenido:

<b:if cond='data:blog.pageType == &quot;item&quot;'>

<b:if cond='data:blog.pageName != &quot;script&quot;'>

El contenido a mostrar si no estamos en una entrada de nombre script

</b:if>
</b:if>

Pero ¿que pasa si estamos en esa entrada?, para eso agregamos una especie de "entonces se debe mostrar esto otro" (<b:else/>) :


<b:if cond='data:blog.pageType == &quot;item&quot;'>

<b:if cond='data:blog.pageName != &quot;script&quot;'>

El contenido a mostrar si no estamos en una entrada de nombre script

<b:else/>

Contenido que se va a mostrar si estamos en una pagina individual y la entrada no se llama script

</b:if>
</b:if>

Todos estos ejemplos puedes verlos en este blog y para probar como se verán los avisos en el tuyo es recomendable poner los codigos dentro de las siguientes lineas (lo que esté dentro solo podrá ser visto por el administrador del blog una vez se haya identificado ante blogger)

<span class="item-control blog-admin">
Aqui el codigo a probar
</span>





13 comentarios

  1. me gusta mucho tu blog asi que ya tienes visita fija un saludo amigo y gracias por visitar el mio

    Posted on 7/11/2009 10:38 a. m.

     
  2. Gracias a ti por visitarme...me has hecho reir mucho con eso de los famosos jaja :P

    Posted on 7/11/2009 2:34 p. m.

     
  3. :) estas entre mis blogs de amigos la verdad que me he quedado sorprendida con tu blog me gusta muchisimo ,también te he puesto en mi blogroll no quiero perderme ninguna de tus entradas . un abrazo

    Posted on 7/11/2009 6:21 p. m.

     
  4. Muchas gracias atajar, es un honor estar en tu blog y en el de algunas otras personas :D

    Trataré siempre de tener tiempo y mejorar el contenido.

    Abrazos y que tengas un buen fin de semana.

    Posted on 7/11/2009 7:02 p. m.

     
  5. hola miguel perdona mi ignorancia pero kisiera tener un aviso tipo anuncio al entrar en mi web , qye cuando entren ala web le salga el anuncio tipo pup pop si sabes de algo similar me odrias aydar..mira el tipo de anuncio ke kiero es este..x-caleta.com ,mil perdones por el spam pero kisiera ke vieras lo ke me refiero.

    Posted on 12/03/2009 11:54 p. m.

     
  6. Esa no es una ventana tipo pop up, es una capa (div) con codigo html con un poco de javascript. jQuery tiene algo que te podría servir, no es tan llamativa pero seguro te va a funcionar.

    [Enlace jQuery]
    [Enlace 2]

    Posted on 12/04/2009 5:45 p. m.

     
  7. :O tengo una duda ¿como mostrar una imagen flotante con opcion de cerrar (igual que la de tu tutorial) pero que sea aleatoria? iagual que la uque usas para pedir los comentarios :D

    Posted on 9/15/2010 6:22 p. m.

     
  8. aqui esplico como cerrar la capa, y aqui como poner una imagen aleatoria, lo demás viene por tu creatividad :)

    Posted on 9/15/2010 7:21 p. m.

     
  9. Es evidente que hay mucho que aprender acerca de esto. Creo que hizo algunas cosas buenas en características también. Sigue trabajando, gran trabajo!

    Posted on 12/20/2010 8:29 a. m.

     
  10. QUE TAL MIKE ESTA GENIAL TU APORTACIÓN SOY PROGRAMADOR ESTE BLOG FUE DE MUCHA AYUDA SALUDOS TU AMIGO EDUARDO CORREA

    Posted on 6/20/2011 9:12 a. m.

     
  11. Muy bueno este aporte, no me agradan los avisos flotantes cuando son para spamear, pero debo decir que a veces son necesarios para anunciar cosas o avisar de vacaciones, jaja. Saludos

    Posted on 10/16/2011 10:58 p. m.

     

Publicar un comentario en la entrada al viejo estilo