JMiur [E]

Blogger'Sphera muestra una serie de entradas que explican de manera muy interesante, cómo funcionan los códigos condicionales en Blogger. Aquí intento traducirlos.

Primero, entendamos qué es un condicional.

Cuando se usa un IF, lo que hacemos es comparar dos cosas y obtener como respuesta VERDADERO (true) o FALSO (false). Lo utilizamos para "tomar una decisión"; si la respuesta es VERDADERO hacemos algo y si es FALSO, eventualmente, hacemos otra cosa. Este es un ejemplo:
<b:if cond='clima == llueve'>
... me quedo en casa porque la respuesta es VERDADERA, llueve ...
<b:else/>
... me voy a pasear porque la respuesta es FALSE, no llueve ...
</b:if>
Lo mismo podríamos hacer al revés si, en lugar de == que indica igualdad, usamos != que indica una desigualdad. Por ejemplo, en lugar de preguntarnos si llueve, podríamos preguntarnos si NO llueve:
<b:if cond='clima != llueve'>
... me voy a pasear porque la respuesta es VERDADERA, no llueve ...
<b:else/>
... me quedo en casa porque la respuesta es FALSA, llueve ...
</b:if>
No necesariamente debo tener una respuesta para cada situación, podría tener sólo una:
<b:if cond='clima == llueve'>
  ... me quedo en casa porque la respuesta es VERDADERA, llueve ...
</b:if>
En los lenguajes de programación, este tipo de instrucciones es fundamental, todo termina siendo una larga lista de condiciones. En Blogger, las cosas son mucho más limitadas porque no podemos comparar cualquier cosa, sólo podemos comparar los datos a los que ellos nos dan acceso y sólo pdoemos hacerlo en ciertos lugares ya que muchos de ellos no estan disponibles en cualquier parte de la plantilla.

De todos modos, hay algunos que podemos usar para muchas cosas, los que nos indican en que tipo de página estamos; de este modo, ciertas cosas se ejecutarán o no, dependiendo de donde estemos.

El dato que indica eso es data:blog.pageType que puede tener tres posibles valores:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
esto sólo se mostrará en una entrada individual
</b:if>

<b:if cond='data:blog.pageType == &quot;archive&quot;'>
esto sólo se mostrará en las páginas que listan entradas
</b:if>

<b:if cond='data:blog.pageType == &quot;index&quot;'>
esto se mostrará en todas las demás
</b:if>
La combinaciones de igualdad y desigualdad, hará que podamos mostrar u ocultar algo con bastante precisión:
<b:if cond='data:blog.pageType != &quot;item&quot;'>
esto se mostrará en cualquier página excepto en las entradas individuales
</b:if>
Hay más posibilidades. Con esta condición, verificamos que estemos en el home de nuestro blog:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
   esto se mostrará sólo en el home
</b:if>
Si bien hablo de "mostrar", las condiciones no sólo sirven para eso. Podemos condicionar casi cualquier otra cosa:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<style>
... estas propiedades de estilo sólo se aplicararán al home ...
</style>
</b:if>

<b:if cond='data:blog.url == data:blog.homepageUrl'>
<script>
    ... este script sólo se cargará en el home ...
</script>
</b:if>
Hay varias posibilidades más. Una de ellas nos permite detectar una entrada individual especifica. Supongamos que quisiera hacer algo en esta entrada: http://vagabundia.blogspot.com/2009/04/ocultando-codigos-mientras-los-probamos.html

Tenemos tres alternativas:
<b:if cond='data:blog.pageTitle == &quot;Ocultando códigos mientras los probamos : Vagabundia&quot;'>
data:blog.pageTitle es el contenido de la etiqueta TITLE del HEAD.
<b:if cond='data:blog.url == &quot;http://vagabundia.blogspot.com/2009/04/ocultando-codigos-mientras-los-probamos.html&quot;'>
data:blog.url es la dirección URL de la entrada que podemos averiguar cuando publicamos el post.
<b:if cond='data:blog.pageName == &quot;Ocultando códigos mientras los probamos&quot;'>
data:blog.pageName es el título de la entrada individual y es la forma más sencilla de filtrar entradas.

Algo similar podemos hacer con las etiquetas:
<b:if cond='data:blog.pageName == &quot;NOMBRE_ETIQUETA&quot;'>
o bien:
<b:if cond='data:blog.url == &quot;http://miBlog.blogspot.com/search/label/NOMBRE_ETIQUETA&quot;'>
Si bien Blogger no nos permite tener condiciones múltiples en una sola instrucción, las podemos anidar, o sea, colocar una dentro de otra. Por ejemplo si quisiera que algo se mostrara en todas las páginas excepto en las páginas individuales y en el home, podría hacer esto:
<b:if cond='data:blog.pageType != &quot;item&quot;'>
... NO es una página de entradas, puede ser el home o cualquier otra
<b:if cond='data:blog.url != data:blog.homepageUrl'>
... NO es el home así que es el tipo de página que estoy buscando
</b:if>
</b:if>
Un ejercicio más complejo. Condicionamos el color de los textos de las entradas:
<b:if cond='data:blog.pageType != &quot;item&quot;'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<style type='text/css'>
.post-body {color: black;}
</style>
<b:else/>
<b:if cond='data:blog.pageName == &quot;BLOGGER&quot;'>
<style type='text/css'>
.post-body {color: blue;}
</style>
<b:else/>
<style type='text/css'>
.post-body {color: red;}
</style>
</b:if>
</b:if>
<b:else/>
<style type='text/css'>
.post-body {color: green;}
</style>
</b:if>
¿De que color serán en las entradas individuales? ¿Y en la página de inicio? ¿Y cuando naveguemos la etiqueta BLOGGER? ¿Y en el resto de las páginas? No es un concurso así que la respuesta puede verse online.

149 comentarios:

Fernando Coello  

:D Excelente, como siempre. También leí los de Rô, pero siempre es más fácil cuando está en español. :$

Responder
Graciela  

:P hay mamita querida, sí que mis neuronas han quedado :O...besitos!!!

Responder
Shark_Bloody  

Gracias a tus ideas no me aburro nunca jugando con la plantilla. Se podria rediseñar la plantilla completa para ciertas ocaciones, o solo cambiar detalles, solo hay que dejar fluir la imaginacion. :D

Responder
Gem@  

Coincido con Fernando porque por muy eficaz que sea el traductor siempre es mucho más sencillo de entender así.
Gracias ;)

Responder
Alex y Raúl  

¿Cómo uso un código condicional para cambiar el color de los títulos de las entradas de modo que si estás viendo las entradas desde la página principal del blog el título de la entrada se vea de un color y si estás viendo las entradas desde otro sitio que no sea la página principal del blog se vea el título de la entrada en otro color?
Como lo que has hecho en el blog de demostración, pero en lugar de cambiar el color del texto, cambiando el color del título de la entrada, espero que se pueda

Responder
JMiur  

Fernando, Gem@: Creo que valía la pena hacer un resumen de esas dos entradas porque me parecieron muy claras, muy bien organizadas.

Graciela: ¡Ánimo! :D

Shark_Bloody: Oh sí. Eso es lo fundamental, probar y ver qué pasa :D

Alex y Raul: Es lo mismo, sólo debe cambiarse las propiedades, por ejemplo, si lo que está en el CSS (dentro B:SKIN) es el color genérico y quisiera que en la página principal fuera distinto, agregaría esto:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
<style>
.post h3 a {color:#OTRO_COLOR;}
.post h3 a:hover {color:#OTRO_COLOR;}
</style>
</b:if>

Responder
Maite  

Hola Jmiur, y si?... y si quiero mostrar un gadget encima de las entradas bajo la cabecera, en todas las páginas y entradas individuales excepto en la página principal? sería posible??
Gracias :)

Responder
JMiur  

Es posible hacerlo, Maite pero, dependerá de qué gadget se trate. Hay una entrada que tal vez pueda servirte de guia.

Responder
Bonzu Pipinpadaloxicopolis III  

Excelente explicación.

Responder
Maite  

Voy para allá corriendo ;) gracias

Responder
Maite  

JMiur, creo que no te llegó un anterior mensaje donde te decía que me había salido! GENIAL! :)
ahora bien, un pequeño detalle... en la pagina principal ahora tengo una separación enorme entre el gadget de bienvenida y la primera entrada, porque ahí en medio está oculto el gadget que se repite en todas las demás páginas (individuales y de etiquetas).
¿Hay alguna manera de estrechar esa separación? Ya sería perfecto!
Gracias ;)

Responder
JMiur  

Maite: Para no complicar mucho las cosas, podrías modificar las propiedades de ese gadget de bienvenida, quitándole los márgenes. Para eso, agrega lo siguiente antes de </b:skin>:

#Text2 {margin-bottom:0;padding-bottom:0;}

Responder
Maite  

¿Qué te puedo decir que no sepas ya? :D
Era justo lo que necesitaba. Mil gracias, ha quedado perfecto.
Un beso

Responder
JMiur  

Muy bien Maite. Me alegro que funcionara :)

Responder
Emb  

No me funcionaba el código hasta que descubrí que en tus ejemplos dice "&quote;" y en realidad debería quitarse la letra e (no lo escribo porque lo interpreta y pone comillas), o por lo menos a mi me funcionó así. Gracias.

Responder
JMiur  

Tienes razón, ya está corregido.

Responder
Carlos Javier  

Hola JMiur!

Caray, no quería joderte con esta pregunta, pero por más que he metido mano en el código no he dado con el chiste.

Pasa que he puesto un widget en la parte superior del main, y he condicionado su vista a que aparezca únicamente en las "páginas" de entrada. Todo bien, la condición funciona como quiero, sin embargo, en el home del blog, si bien no se ve el widget como tal, si se alcanza a ver un pedacito del estilo que le he dado con CSS, y como te dije, por más que he tratado no he podido corregirlo. ¿Podrías ayudarme con alguna recomendación?, te estaré muy agradecido.

Saludos y perdona que te moleste con estas cosas.

Que tengas una buena semana!

(http://responsabilidadyderecho.blogspot.com)

Responder
JMiur  

Carlos:

Ya lo veo. Podrías hacer lo mismo con el CSS. Por ejemplo, si colocas esto antes de </head> :

<b:if cond='data:blog.pageType != &quot;item&quot;'>
<style>
#HTML13 {display:none;}
</style>
</b:if>

Responder
Raul  

Esto es un poco lioso, yo quisiera saber como hago para que uno de mis gadget solo se ejecute si no se está usando IE, por ejemplo, el gadget se ejecutaría si uso Firefox, pero no si uso IE ¿Cómo podría hacer eso?

Responder
JMiur  

Hay una forma de condicionar CSS para IE pero, eso sólo permitiría ocultar o mostrar algo. Lo que quieres hacer, sólo es posible utilizando JavaScript y no sería nada sencillo.

Responder
Carlos Javier  

Gracias!!! :)

He probado tu recomendación y me ha salido a la perfección. Supongo entonces que cuando algo similar me vuelva a ocurrir, deberé hacer lo mismo que me has indicado.

De nuevo gracias viejo por tomarte el tiempo de responder y de ayudar.

Saludos!

Responder
Raul  

Gracias JMiur

Responder
JMiur  

Exacto, Carlos, ahí, en esa parte, puedes agregar cualquier otra definición de CSS y se aplicará a la página principal. Usando un b:else podrías controlar las páginas de entradas. Eso, le da mucha flexibilidad al diseño del blog.

Responder
Bocha  

Sabes lo que pasa JMiur, yo el codigo lo tengo colocado bien, con el condiocional y todo, pero el problema es que ese condicional lo tengo colocado de forma que solo me condiciona el texto ("x" comentarios). Yo se agregarle el condicional pero no se a que codigo, no se que codigo es el que hace referencia a el Icono del post.footer. Ese es el problema. me dirias cual es ese codigo, el del icono?? Puedes fijarte en la plantilla que te mande.

Responder
JMiur  

Si te refieres aun icono con forma de burbuja de comentario, no es un código en si, es el fondo de un SPAN y el conicional está dentro y no fuera así que sólo está ocultando el contenido en lugar de ocultar el contenedor:

<span class="post-comment-link">
AQUI ESTA EL CONDICIONAL
</span>

y debería condicionarse asé:

<b:if ..............................>
<span class="post-comment-link">
...................
</span>
</b:if>

Responder
Vku  

tenes idea cual es el código que oculta todos los comentarios, es para que se vean en la pagina principal y no solo unicamente en cada entrada?

Responder
JMiur  

Normalmente, es esto:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='comments'/>
</b:if>
</b:if>

Responder
David Codocedo  

Hola JMiur.
Tengo una consulta, quizas es muy básica, pero no lo logré solucionar.
Mi plantilla trae condicional el link de comentarios. [por cierto, tengo el scrip de leer más] Bajo el título de la entrada tengo los siguientes datos: Publica por.., fecha.., categoría.., y comentarios. Pero cuando cliqueo el famoso "leer más", desaparece el link de comentarios y los otros estan intactos.

Bueno, si puedes darme una ayudita, intenté hacerlo con este post que publicaste, pero no lo he logrado. Si quieres ver lo que menciono puedes hacerlo en este Blog de Pruebas

Saludos
Gracias,
Hasta pronto

Responder
JMiur  

Sí, eso es normal, Se supone que al ya estar en la entrada, no hace falta porque los comentarios están debajo pero, si quieres, puedes hacerlos visibles, simplemente, quita ese condicional.

Espero haber entendido bien :)

Responder
Mauricio  

Hola JMiur, de nuevo ando por aquí con un detalle algo extraño, implemente un codigo condicional para que en las paginas individuales de mi blog cuando no haya comentarios no se muestre el texto "sin comentarios" utilizando en la condicional con style un display:none para .comment-count y funciona, lo raro aqui es que en la navegación de mi blog tengo un color de fondo gris y con esta condicional el color de fondo desaparece. Puedes checar la diferencia en esta entrada sin comentarios y esta otra con comentarios. Quisiera saber que pasa ojala puedas ayudarme. Gracias :D

Responder
JMiur  

Lo veo raro. Primero fíjate en esto, dice:
h3 #comments-count { ........ }
y en reslidad, debería ser:
h3#comments-count { ........ }
o bien
h3.comments-count { ........ }

hay un espacio que sobre después de h3.

Responder
ALvaRiTo  

hola. no puedo ponerle condicional a las etiquetas, funciona en todas las plantillas?

Responder
ALvaRiTo  

lo que estoy buscando es ponerle condicional a post con etiqueta especifica. osea que todos los post con la etiqueta "video" tengan un estilo diferente,, es posible?

Responder
JMiur  

El dato que indica si una entrada tiene cierta etiqueta sólo puede ser leido dentro del bucle que muestra los posts y no desde el header de la página. Por lo tanto, si bien puede hacerse, el efecto n oserá muy bueno ya que primero se mostrará normalmente y luego, cambiará. El código que lee las etiquetas es este: data:post.labels

Responder
Prodwin  

Hola de nuevo, tengo un problema en mi plantilla. Mi blog es http://prodwin.blogspot.com/ y esta dividida de la siguiente manera http://i476.photobucket.com/albums/rr128/Liybergzx/MUESTRA.jpg
Como puedes ver, tengo un slide de imágenes Jquery en una columna encima de las entradas. A dicha columna le puse la condicional para que solo aparezca en el HOME, pero resulta que al entrar en una página individual, el slide desaparece llevándose a la columna del costado (donde se ubica una lista de música y un texto aleatorio).

Trate de ponerle la condicional solo al elemento HTML del slide, pero como la columna donde esta situada tiene una altura; al momento de entrar en una página individual, el slide se va dejando un espacio en blanco (que es la altura de la columna donde está situada).

Le puse la altura para que funcione el slide Jquery, ya que sin eso, la slide "flota" encima de la última entrada, sin dejar ver el título y algo más.

Responder
JMiur  

Prodwin:

En realidad, no desaparece, está alli, muy arriba porque el DIV #sidebar-wrapper dice: margin:-282px 0 0; Es decir, tiene un margen negativo equivalente a la altura del slide así que, "sube" y desaparece debajo del header.

Lo que está mal es el concepto de diagramación. Cuando tienes dos elementos que flotan a la izquierda y uno a la derecha; esos dos primeros, es mejor que esten dentro de un DIV y hacer que sea este el que flote, es decir, que sea una columna con "cosas" dentro..

Soluciones hay varias a probar. Una es crear esa columna izquierda; otra es mover el slide y ponerlo en el DIV main-wrapper pero me parece que una solución simple que evita tocar demasiado es condicionar el CSS. Por ejemplo:

<b:if cond='data:blog.pageType == &quot;item&quot;'>
#sidebar-wrapper {margin:0}
</b:if>

Eso, claro, debe ponerse después de la definición de #sidebar-wrapper {}, por ejemplo, antes de </head>

Responder
Prodwin  

Lo puse antes del /head y no resulta, también antes del /b:skin y nada T_T

Responder
JMiur  

Revisa lo que has puesto porque no se ve en el código fuente y ahora, también se muestra el slide en las páginas individuales.

Responder
La Trucoteca de Blogs  

Hola JMiur!
Somos Germán y Javier, de La Trucoteca. Anteriormente te dejamos un comentario, sobre un problema que habíamos tenido en nuestro blog. Aunque sea un poquitín tarde, queríamos darte las gracias por la ayuda tan amable que nos prestaste :D
De paso queríamos preguntarte una dudilla relacionada con este tema, ya que eres todo un experto en lo relacionado con los códigos HTML, etc.
¿¿Habría alguna manera de que un gadget se viera en todas las páginas del blog excepto en una entrada concreta??
Bueno, la pregunta va dirigida porque creemos que esta es la forma (la expuesta en la entrada) de ocultar también esos elementos que decimos.
De antemano, muchas gracias :)
¡Saludos!

Responder
JMiur  

Sí, eso también es posible, puede usarse una condición que verifique el título de la entrada que es un dato que se encuentra en: data:blog.pageName

Así que para NO se vea en cierta entrada habría que crear una condición como esta:

<b:if cond='data:blog.pageName != &quot; EL TITULO DE LA ENTRADA&quot;'>

......... ESTO SE VERA SIEMPRE EXCEPTO EN ESA ENTRADA INDIVIDUAL .......

</b:if>

No lo he probado pero, por ahí anda :D

Responder
La Trucoteca de Blogs  

Hola de nuevo JMiur!
Qué grande, de verdad.
Nunca habríamos hallado la respuesta de no ser por tí, ya que lo que nosotros hacíamos (más o menos) era lo contrario (se veía el gadget en una entrada concreta, pero no en la página principal, etc.)
Ahora, con el código que nos has proporcionado, todo sale como deseabamos, perfecto :D
¡Muchísimas gracias, maestro! :)
¡Un fuerte abrazo desde Murcia!

Responder
JMiur  

Me alegro que sirviera :D

Responder
Kazbam  

Yeah, qué de lujo, me agrada cómo explicas las cosas, así no se me complica aplicarlas en mi blog.
Gracias.

Responder
JMiur  

Me alegro que sirva, Kazbam :D

Responder
Felipe  

Hola Jorge

El uso de condicionales ha sido una excelente herramienta para cambiar el aspecto de los resultados de la búsqueda en mi blog, y desde que uno los sepa usar bien y jugar un poco con las etiquetas data de blogger, me imagino que se podrán llegar a conseguir cosas geniales en materia funcional y estética.

Ya sabes, un saludo desde Bogotá :)

Responder
JMiur  

Saludos, Felipe. Gracias por el comentario.

Responder
ATW  

Hola! Tu truco me funciono a la perfeccion. Sin embargo, tuve un problema: quiero ponerle varios condicionales a la vez, ya que estoy usando el script en forma de "seccion" dentro de mi blog. El tema es que cuando le pongo un solo condicional anda perfecto, pero si le agrego otro, para que me aparezca en dos entradas especificas, no me aparece en ninguna.
Te dejo mi blog para ver si me podes ayudar: http://revistaallthatwoman.blogspot.com/
la idea seria que los HTML de Musica, Cine, Tv, etc q estan cuando se ingresa a Recreo aparezcan tambien cuando se ingresa a ellos.

Desde ya muchas gracias, no se que hubiese hecho sin la ayuda de los que comparten sus conocimientos como vos :)

Responder
JMiur  

Tendría que ver qué es lo que estás poniendo y cuales son las condiciones. El problema con las condiciones que que carecen de un código que permita hacer mútliples consulatas; las respuestas son siempre SI o NO y eso hace muchos códigos deban ser repetidos si hay muchas condiciones.

Así, en abstracto, es imposible responder. La técnica es siempre la misma y es limitada en ese sentido.

Responder
Leo Iglesias  

Hay manera de poner un condicional para que blogger me muestre un aviso de Adsense en una noticia en el caso que la noticia no tenga foto? A ver si puedo ser claro...si tiene foto no pone el aviso, si no tiene foto en su lugar aparece un Adsense....?

gracias! :D

Responder
JMiur  

Condionales de Blogger no porque no hay ninguno que permita detectar si una entrada tiene una imagen o no la tiene.

Responder
Nuria Cortés  

Hola Jmiur,

Estoy intenado saber cómo podría hacer que un bloglist que he puesto debajo del espacio de las entradas sólo se mostrara en la home. He leído tu post y entendido -creo- lo del condicional pero llego a saber cómo especificar que un elemento sólo salga en home. Es decir, supongo que tendría que usar esa frase que has puesto pero después qué, ¿cómo especifico QUÉ es lo que quiero que se muestre sólo en la home? Tu ejemplo hace más hincapié en los modos -los colores y eso, el estilo, vamos- pero no en la orden de que sólo aparezca en la home... ¿Podrías ayudarme, por favor? Muchas gracias de antemano; ésta será ya la tercera duda que me resuelves... Si es que no me tenía que haber hecho suscriptora tuya ;) porque luego me das ideas, jejejeje
www.laloliplanet.com

Responder
JMiur  

Nuria:
Para que algo sólo se vea en el home, el condicional es este:

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

Si es un widget o un elemento agregado, expándelos y coloca el condicional luego del INCLUDABLE MAIN:

.......
<b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>

... y aqui dejas el código del widget ...

</b:if>
</b:includable>
.......

Responder
Nuria Cortés  

Pero si lo que quiero que se muestre sólo en el home son las dos columnas de debajo de las entradas, ¿dónde lo pongo? Porque una de las columnas tiene un bloglist y otro las últimas entradas... Puff... siento tanta pregunta...

Responder
JMiur  

Si se trata de este blog: http://www.laloliplanet.com/ y lo que quieres es que en el home sólo se muestren los gadgets de Últimas entradas y Otros blog viajeros, podrías resolverlo condicionando el DIV.

A ver si se comprende porque yo veo el código fuente y no tu plantilla así que puede haber algún detalle.

Esos dos widgets estan en un DIV cuyo ID es main-footer-contenedor así que la condición se coloca antes de la etiqueta de apertura de ese DIV y se termina en la etiueta de cierre. Puede ser que, si no expandes la plantilla, se vea más fácilmente:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
<div id='main-footer-contenedor'>
.......
</div>
</b:if>

Responder
[ :: WwW.FloWKaletA.CoM :: ]  

hola, tengo un problema aver si me puedes ayudar, yo he creado con el nuevo gatget de google un menu horizontal en mi blog como por ejemplo:

Home | Descargas | Contacto

Quiero que cuando haga clic en "Descargas" se muestre todas las entras que contengan la etiquetas Descargas no se si me dejo entender. serian como paginas diferentes y en la pagina Descargas me muestren los resultados de dichas etiquetas "descarga".

ojala me puedas ayudar.

Muchas gracias

Responder
JMiur  

Esta es la URL a la etqiueta Descargas:
http://www.flowkaleta.info/search/label/Descargas

Responder
Full Poker  

saludos muy buen dato pero tengo una duda, ojala me puedas ayudar
en el inicio tengo las sidebar pero puse codigos para que en las paginas estaticas (descargas-rakeback-contacto-neteller-promociones-consejos-etc) no me aparecieran las sidebar y las entradas ocuparan todo el ancho del blog...ahi lo logre y todo bien.

pero he intentado y no puedo ocultar por ejemplo el texto en movimiento hacia arriba, banners de full tilt y otros banners que se encuentran en las paginas estaticas q quiero ocultar..me podrias ayudar creando un codigo y donde pegarlo por favor.
me han dicho q lo ponga con el id pero no se como buscarlo ni crear el codigo necesario.
ojala de verdad me ayudes porque soy nuevo en esto y no entiendo mucho.
de antemano. gracias.

Responder
JMiur  

A ver si son estos:

el texto que se desplaza tiene como ID anuncio
no sé si el banner al que te refieres es la imagen a la izquierda, eso, está en el body y es el fondo
Los otros, entiendo yo, son banners de Adsense

Para ocultar el anuncio, dentro del mismo condicional que oculta la sidebar colocas:
<style> #anuncio {display:none;} </style>
o, eventualemente, condicionas el script que lo ejecuta.

Con Adesense, debes buscar los códigos agregados en la plantilla y condicionarlos, encerrándolos en la condición:

<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
... esto se ejecutará en todas las páginas excepto en las páginas estáticas
</b:if>

Responder
DaycareWeb  

Hola JMiur,
Me leido tu entrada para ver si en ella podria encontrar alguna idea que me aclarara respecto a lo que quiero lograr.
Por favor, necesito una ayuda en:
Quiero lograr mostrar/ocultar una imagen al marcar/desmarmar una casilla de verificacion. Llevo varios dias en esto y no he podido solucionarlo. He intentado muchas cosas, pero hasta ahora solo he logrado presentar la imagen oculta pero al marcar la casilla no se habilita la imagen.
En terminos de programacion escrita, te diria, que necesito:
evento 1: mostrar casilla verificacion + texto + imagen ("hidden", sin href);(esto lo he logrado).
evento 2: si la casilla de verificacion es "true" mostrar evento 3 y si es "false" mostrar evento 1.
evento 3: mostrar imagen "visible" + href
Muchas gracias

Responder
JMiur  

Así en el aire es un poco complicado de resolver, deberías ostrarme algún ejemplo para saber qué códigos estás utilizando.

Responder
colmillo blanco  

hola jemiur.
estoy tratando de publicar anuncios de google en cada una de mis entradas
usando es te codigo

...Aquí va el código de adsense parseado
y no me aparece nada . no se si se pueda hacer esto. normamelmente los anuncios si me estan funcionando asi
http://www.obraspoemas.blogspot.com pero yo quiero que aparescan al costado de mi texto por cada entrada individual . de antemano gracias.

Responder
JMiur  

No sé cuál es el código ya que no se ve pero me imagino, por l oque se ve ene l código fuente, que está dentro de alguna etiqueta de comentarios y por eso n ose ve nada ya que en el código fuente se lee esto:

<!-- adsense -->

Responder
DaycareWeb  

Hola JMiur,

Muchas gracias por rus respuestas, intente enviarte el codigo html y no me lo acepta el comentario, no se porque.
Por favor, tengo un gran problema: me registré gratis en 250free.com y alojé allí todas mis imagenes y archivos, y desde ayer esta fuera de servicio y no me dan explicaciones. Podrías recomendarme algun alojamiento (gratis, de momento) que pueda registrarme y redireccionar mis enlaces hacia allí.
Lo otro es, deseo ocultar los titulos de las paginas estaticas al ser cargadas, es decir cuando pinchas la pagina estatica, y te sale, aparece el titulo en la "entrada", eso no quiero mostrarlo. Si esto no es posible, cómo se puede enlazar una pagina estatica con una entrada, de manera que cuando pinchas la pagina estatica te salga dicha entrada.
Muchas gracias por todo.

Responder
JMiur  

Recomendaciones no tengo. A mi entender, las imágenes deben ser alojadas en Blogger o Picasa; el resto de los archivos, depende de qué son.

Apra ocultar los títulos en las páginas estáticas, deberías condicionar el CSS. Poner algo así antes de </head>

<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
<style>
.post h3 {display:none;}
</style>
</b:if>

Responder
DaycareWeb  

Hola JMiur,

* Gracias por tu respuesta tan rapida. El codigo que me mandaste me funcionó perfectamente pero usando la igualdad "==" y no funcionó con "!=". Muchas gracias.
* Respecto al tema del alojamiento, efectivamente, utilizo google picasa para fotos y google docs para imagenes y documentos pdf. Pero los documentos .doc los transforma y luego cuando se descargan lo hacen deformados.
* Respecto a llamar una entrada cuando haces click en una pagina estatica, sabes algo al respecto?
* Sobre el comentario 59 te explico mejor:
Cuando instalas una aplicación, por ejemplo, cuando te presentan las condiciones, aparece una casilla de verificacion para aceptar esas condiciones. Por otro lado hay un boton de "siguiente", que está inhabilitado y cuando marcas la casilla de verificacion se habilita, y si vuelves a desmarcar la casilla se inhabilita el "siguiente" nuevamente. Eso es lo que quiero lograr con una casilla de verificacion y una imagen (en vez del boton "siguiente").
Un saludo y muchas gracias.

Responder
JMiur  

Claro, te funcionará con la igualdad == porque me equivoqué al escribirlo :D Sí, esa era la idea :D

Para documentos en general puedes probar DropBox, funciona bien.

¿Llamar a una entrada cuando abres una página estática? No entiendo la pregunta.

Por lo de l formulario, como te dije, debería ver el código con el ejemplo funcionadno porque sino, es casi imposible iimaginarlo.

Responder
TheLukasWeb  

Como seria la estructura de un condicional que si la resulocion de la pantalla es menor que 800x600 redireccionara al usuario a la version movil del blog??
gracias

Responder
DaycareWeb  

Hola JMiur.

Ya he resuelto tema de alojamiento de images y documentos, al final los tengo en Google Docs. Tiene su truco, pero conseguí lo que quería. Si te interesa luego te explico los detalles. Cuando me refiero al truco no es alojarlas sino poner un link en tu pagina para que el usuario lo descargue en su formato original y no deformado. Gracias popr tu recomendacion.

*Cuando digo llamar a una entrada desde una pagina estatica me refiero: imagina una pagina estatica que se llame "Deportes", cuando el usuario hace click en esa pestaña, esta abre una entrada, la que desees. Te preguntarás porque tanto enredo. Yo ultilizo Windows Live Writer para editar las entradas y para colocar este contenido en una pagina estatica tengo que copiar el codigo y pegarlo, luego hacer arreglos de edicion, etc. Pero imagina que quiera cambiar todos los dias el contenido de esa pagina estatica, porque es cambiante, tendría que hacer todo eso de la edicion, copiar, pegar, etc. Por eso me preguntaba que si se podria hacer lo que te pregunto resolveria un poco el tema.
Gracias por todo, un saludo

Responder
JMiur  

Me pierdo en el razonamiento. Imagino que si lo que quieres es que desde un enlace se abra una entrada variable que es la última en su tipo, lo más lógico sería usar etiquetas o categorías más que una página estática ya que sino, no es posible actualizar ese contendio de manera dinámica sino que debe hacerse manualmente.

Responder
Lic. Enrique Dalla Villa  

Es interesante pero hay una cosa que no entiendo ¿dónde hay que poner el condicional dentro de toda la plantilla? ¿antes o después de qué código?

Ya que estoy, si en mi blog a algunos artículos le pongo la etiqueta "no", ¿cómo hago para que los mismos no aparezcan en la página Home?

Desde ya mil gracias.

Responder
JMiur  

El código se pone antes de quello que se quiere condicionar y se cierra después; es decir, eso que se queire condicionar, va adentro.

PAra lo de las etiquetas, podrías ver esta entrada y probar con ese tipo de técnica.

Responder
ESQUADRA ALADINS  

Hola JMiur:
Tengo colocado en mi bitàcola un gadget en la barra lateral, que es un reproductor mp3 para que al entrar suene una sintonia musical, cosa que ocurre al abrir todas y cada una de las páginas. ¿Hay algún condicional para que el gadget solo se pueda ver en mi pàgina principal? He intentado colocar tus condicionales pero o no los coloco bien o no se dende insertarlos correctamente.

Un saludo y gracias.

Responder
JMiur  

Si. La condición es la misma. Debes colocarla dentro del gadget; no sé que tipo de gadget es pero, si te fijas en esta entrada ahi hay algunos ejemplos. Por ejemplo, si fuera un elemento HTML, lo expandes y sería algo así:

<b:widget id='HTMLx' locked='false' title='xxxxxxxx' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
............................
</b:if>
</b:includable>
</b:widget>

Responder
ESQUADRA ALADINS  

Gracias JMiur,ahora me funciona perfectamente.

Gracias.

Responder
JMiur  

Perfecto :D

Responder
Alonso  

Que tal JMiur:

Primero quiero agradecerte tu pronta respuesta en el asunto ese del buscador, no lo había podido hacer antes por mis ocupaciones en la escuela ya sabes... pero bueno lo hago ahora, gracias.

Ahora bien, siguiendo con el tema del buscador... ¿hay forma de condicionar parte de una url?. Mi punto es el siguiente:

Cuando realizamos una búsqueda la url contiene SIEMPRE la palabra "search" más lo que se haya buscado. Ahora bien, quiero hacer algo que SÓLO se ejecute cuando en el url se INCLUYA la palabra "search", es decir, no se condicionaría una url específica sino parte de ella, una palabra en especial, ¿SE PUEDE?

Bueno pues ojalá tengas un tiempo para ayudarme, saludos que estés bien.

Responder
JMiur  

Para hacer eso debes usar JavaScript, crear una funcion, leer la URL de la página, buscar verificar si existe es palabra y actuar en consecuencia. No existen códigos condicionales apra ese tipo de cosa.

Responder
Alonso  

Ok investigaré entonces cómo hacerlo en Java, aunque supongo que escapará a mis posibilidades, debe ser complicado, gracias por tu respuesta.

Saludos.

Responder
AP I / II  

Hola muy buen post!!! cuando lo entendi me sirvio muchisimo. Solo tengo una duda para mejorar lo que quiero hacer.
He condicionado el modo en que se muestran los post desde desde "Etiquetas" y "Archivos", para que se vean "tipo lista de titulos". Use estos condicionales y sale perfecto.





El unico problema es que cuando desde el home le doy a la flecha para ver post mas antiguos (se ven 7 por defecto por pagina) me sale tambien "tipo lista" y quiero evitarlo, es decir que se vean "normales".
Como condicionaria para que en esas paginas tampoco se vea el listado de titulos.
Desde ya muchas gracias y genial tu trabajo.

Te dejo la dir para que lo veas
http://appruebas2.blogspot.com/

Responder
JMiur  

No hay condicionales intermedios; tanto archivos como etiquetas como las páginas que se abren cuando navegamos hacia atras o adelante son del mismo tipo.

Responder
León  

Muy bueno Jmiur, estuve probando y me funcionó... pero hay algo que no logro hacer... como hago para que tanto las entradas individuales como las páginas estáticas compartan el mismo diseño???
o para especificar el estilo de las entradas individuales, y luego especificar el de las páginas estáticas y me tome ambas, por que no logro que me acepte ambas :S

Responder
JMiur  

No estoy muy seguro de cuál es la condición que quieres colocar:

<b:if cond='data:blog.pageType = &quot;static_page&quot;'gt;
<style>
las reglas de estilo colocadas acá sólo se aplicarán a páginas estáticas
</style>
</b:if>

<b:if cond='data:blog.pageType = &quot;item&quot;'gt;
<style>
las reglas de estilo colocadas acá sólo se aplicarán a páginas individuales
</style>
</b:if>

Responder
papaoso  

Hola amigos .

Ante todo agradecer este post y felicidades

Ahora la pregunta ¿Puedo hacer que una palabra no aparezca en el título,si esta se repite en muchos títulos?

Lo que quiero es que no se vea
Gracias anticipadas

Responder
JMiur  

Tal vez podría hacerse que no se viera pero seguiría existiendo. No tengo idea cómo.

Responder
David  

Jmiur que tal? , tengo una consulta, en mi blog tengo categorias, cada categoria esta en una entrada, y en el blog tengo "entradas alazar" y articulos relacionados, y hay veces en que aparecen esas entradas con las categorias, y quisiera exluir o hacer que no muestren esas entradas, hay un codigo que podria agregar para eso? no quiero usar las paginas propias por que son varias categorias... desde ya muchas gracias ;)

Responder
JMiur  

¿A ver si entendí? Has hecho una serie de entradas que funcionan como índices de categorías y l oque no quieres es que esas entradas índice, aparezcan como aleatorias o como relacionadas.

Códigos condicionales para eso no hay ninguno. En el caso de los posts relacionados, como usas linkwithin, no hay nada que hacer a menos que el servicio te permita excluir cosas.

En el caso de las entradas aleatorias ... ahi, tal cez se pudiera hacer algo (no sé que) ya que se trata de un script y habría que modificarlo para verificar que la enttrada aleatoria no sea una de esas que quieres ocultar y, si lo es, buscar otra. Un poco complicado de resolver ... posible pero complicado.

Se me ocurre que una forma de minimizar lo de las entradas relacionadas es ponerle a esas entradas alguna etiqueta pero nada garantiza que no aparezcan ya que vaya uno a saber el criterio que usa linkwithin para determianr cuáles debe mostrar.

Responder
PeliculasTube  

ahhh ya me quedo dando vueltas la cabeza, si me podias decir como mostrar un elemento en una etiqueta especifica?

Responder
JMiur  

No existe ninguna condición para eso.

Responder
Administrador  

hola amigo podrias decirme porfavor

como mostrar el titulo de la pagina web distinto dependiendo de la etiqueta blogger


mira yo havia echo esto para mostrar algo determinado en los post que lleven alguna determinada etiqueta ("Nombre etiqueta")














quisiera acer algo parecido pero en el titulo de los post osea en el titulo del navegador

Responder
JMiur  

El código que has escrito no se muestra. De todos modos, si es algo que está colocado en el LOOP de los posts (estoy imaginando) , no creo que sirva ya que el título es la etiqueta <TITLE> </TITLE> que debe ser puesta en el head de la página y allí, ese dato (a qué etiquetas corresponde un post) no existe y que yo sepa, no hay forma de acceder a él.

Responder
Liliana  

Hola, espero que te encuentre muy bien. Mi pregunta es sí yo quiero tener una imagen de cabecera diferente para cada etiqueta que tengo en forma de menú, por ejemplo en la etiqueta Recetas quiero una imagen diferente a la etiqueta de cupones. Es algo que puedo hacer con condicionales?

Responder
JMiur  

El problema de eso es que no hay forma de saber cual es la etiqueta de una entrada, excepto en el bucle que muestra los posts, es decir, después que se cargó el header.

Puede hacerse, es algo engorroso pero, el problema será que esa imagen se mostrará tardiamente, provocando un efecto poco agradable.

Responder
nakahito  

Jmiur quitame una duda, se puede usar dos condicionales juntos? es decir, en mi caso seria:

<*b:if cond='data:blog.pageType != "item"'>
<*b:if cond='data:blog.pageType != "static_page"'>
.......
<*/b:if>
<*/b:if>

esto al parecer si funciono, pero al hacer una exclusividad "==" no funciona, entonces probe repitiendo el codigo

<*b:if cond='data:blog.pageType != "item"'>
<*b:include data='post' name='comments'/>
<*b:if>

<*b:if cond='data:blog.pageType != "static_page"'>
<*b:include data='post' name='comments'/>
<*/b:if>

Queria saber si esta bien lo que hice y si podias aclararme este punto. Gracias, saludos ;)

Responder
JMiur  

Dos condicionales se pueden anidar, ese es el primer ejemplo que muestras. Si se cumple la primera condición, se verifica la segunda; si no se cumple la primera, la segunda no se analiza. Eso, funciona indistintamente con == como con !=

Lo que dice ese primer código es que si la página no es una página individual, solo entonces se verifica la segunda y se ejecuta si la página no es estática o sea, esa condición se ejecutará si es el home o si es alguna página de listas (archivos, etiquetas, naveagación)

Lo que no sé es cuál es la condición que quieres tener o que quieres lograr.

Responder
nakahito  

Mi punto era que si no se puede usar dos condicionales juntos usando == estaba bien si lo hacia por separado (ejemplo 2), quería una aclaración de esto.

Ahora, lo que estoy haciendo es que las paginas estáticas se vean completas y como uso el script para acortar los post en la pagina principal (usando summary) no se podía, entonces lo que hice fue agregar un condicional en las paginas estáticas e individuales para que no funcione el script de summary y quitar el readmore, autor, fecha, entre otros y así se vea el post completo. (ese fue el ejemplo 1)

Hasta ahí todo bien, el problema fue que no salia el formulario de comentarios en las paginas estáticas, lo que hice fue el ejemplo 2 y se soluciono.

Responder
JMiur  

Sólo se puede utilziar una condición; no existen operadores como AND y OR.

Responder
CrazyEyeS  

Saludos, como haria si quiero condicionar doble? me explico.. si quiero condicionar si esta en X pagina y tambien en X otra?. osea dos condiciones en una? si es igual a... y tambien a... ¿me entiendes?


ejemplo..


<------------- como la haria? en estos casos??
AQUI LO QUE QUIERO QUE SALGA. en caso que la condicion si se de.

Responder
JMiur  

Vas a tener que escribir el ejempl ode otra forma ya que los formularios de comentarios no aceptan códigos HTML.

De todos modos, en Blogegr no exsiten operadores lógicos de tipo OR o AND. Si quisiera que algo se viera sólo en dos páginas, debería repetir el código.

Responder
CristJian  

gracias loco! :)
como puedo hacer para que un gadget de adsense me salga en la pagina principal y en una pagina estatica, intenté ponerle los condicionales pero no me sale :S

este es mi blog: elsentirpopular.blogspot.com

y quisiera que el banner de adsense tambien salga acá: http://elsentirpopular.blogspot.com/p/foro.html

solo en esos 2 lugares quisiera ponerlo, gracias por la ayuda loco ;)

Responder
JMiur  

Usando condicionales y colocando el código de Adsene en ellos; no sé qué condicionales estas usando; este es uno:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
aquí el código que sólo se verá en el home
</b:if>

Responder
CristJian  

claro, ese ya lo tiene, este es el codigo:







pero como haría para que también salga en la pagina de foro... por que traté de ponerle así pero se oculta el banner de adsense en todo el blog (no se si esté bien el codigo pero usé la intuicion, o por lo menos es lo que quisiera que salge jeje):









mmm o sería más facil que salga en todas las páginas menos en la de las entradas... creo que esa seria la mejor opcion verdad?

Responder
JMiur  

Si se quiere que sólo aparezca en una página específica, sería así:

<b:if cond='data:blog.url == &quot;http://elsentirpopular.blogspot.com/p/foro.html&quot;'>
aquí el código
</b:if>

Responder
CristJian  

ehm, gracias loco, ya lo dejé para que aparezca en todas las paginas estaticas y el la principal menos en las entradas jeje ya no pude ponerle asi, pero gracias por el buen dato :)
saludos!

Responder
Mica  

hay alguna para que se vea en todas menos en la pagina principal

Responder
JMiur  

Esta condicion se ejecutará en todas las páginas excepto en el home:

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

Responder
zux  

Hola intento agregar este condicional para un codigo de adsense pero no me funciona :(


esto se mostrará en cualquier página excepto en las entradas individuales


cual es el problema??? lo agrego en un gadget


gracias por la ayuda :D

Responder
JMiur  

No sé cuál es el código que intentas poner pero, sería así:

<b:if cond='data:blog.pageType != "item"'>
el codigo de adsense
</b:if>

Responder
zux  

SI, es ese código, pero yo lo colocaba dentro del gadget y lo tenia q colocar en el código del blog, ya lo solucione gracias :D

Responder
zux  

ups, se me olvido preguntarte, si sabes como modificar el adsense q se agrega directamente en blogger? (centre el bloque, pero se centro con el titulo :S) me gustaría darle más margen. Y aparece un bloque de adsense dentro de las entradas al final (solo ocupando espacio) me gustaría eliminarlo o dejarlo bajo las entradas relacionadas (con imágenes)

http://www.failomg.com


como podría colocar un cuadro de adsense bajo los botones sociales (queda un espacio junto)



gracias si me puedes ayudar

Responder
JMiur  

Los códigos condicionales sólo pueden agregarse en la plantilla misma.

El código de Adsense no debe modificarse pero, puedes colocarlo dentro de un DIV y usar ese DIV para centrarlo, darle margen, etc:

<div style='margin:30px 0;text-align:center'>
el codigo de adsense
</div>

La ubicación de esos bloques depende de gustos personales; puedes colocarlos en cualquier parte como con cualquier otro código HTML.

Responder
zux  

mm creo que me exprese mal :S

El problema que tengo, es que NO SE cual es el código del adsense que se agrega directamente desde blogger (no aparece ningún gadget ni nada) el código debería estar integrado en la plantilla pero no se cual es :( por lo tanto, no puedo "editarlo"


Este:

http://alfred.co.in/wp-content/uploads/2007/10/adsense_blogger_2.gif

http://lh3.ggpht.com/_LtS_9N3cOOg/StF_iKD9QEI/AAAAAAAAFjE/5I3X_SBV0yo/adsense%20in%20blogger_thumb%5B2%5D.png

Responder
JMiur  

¿Y por qué no entras en tu cuenta de Adsense, creas el aviso y usas el código que ellos te dan?

Responder
zux  

porque cuando busque como colocar los bloques entre las entradas, la única opción que aparecía, era a través de ese sistema.

Donde debería copiar el código para que apareciera entre la 1ª y 2ª Entrada y entre la 4ª y la 5ª ? :S


Otro problema q nunca e podido solucionar es como colocar el bloque de adsense bajo los botones sociales dentro de la entrada XD (hay un espacio en blanco perfecto, pero no se como colocar el bloque en ese lugar.


gracias por tomarte la molestia de leer mis consultas :)

Responder
JMiur  

Si son gadgets, difícilmente aparezca el código en la plantilla, es un dato interno de Blogger.

Responder
Aily77  

Hola, Excelente aporte, solo una pregunta, se puede condicionar que en la pagina principal solo se muestren las entradas de una etiqueta especifica???

Gracias, que tengas un buen dia!!

Saludos... =0)

Responder
JMiur  

No veo que haya ninguna forma de hacer eso salvo que uses JavaScript.

Responder
Aily77  

Hola Gracias por tu respuesta!!!

Responder
Peter  

Hola Jmiur, muy buenos estos articulos, a mi me han servido mucho para mi blog, he probado este código para ocultar un anuncio de adsense en el home del blogger y ua pagina especifica pero no me funciona, no se que estoy haciendo mal

JMiur  

Tendría que saber qué estás haciendo para poder responder algo.

Peter  

Hola Jmiur, bueno como introducción estoy tratando de crear una pagina de inicio en Blogger que contiene varias cositas. yo habia monetizado el blog con adsense, ... lo que deseo hacer es que cuando un visitante entre a www.aguaysig.com (home) o de clic en el menú inicio ( que es una entrada normal), no me aparecezca el anucio de blogger en ninguna de las dos... yo probé lo siguiente:


codigo del Anuncio con Adsense de google



Pero no me funciona, no se si estoy haciendo bien.. muchas gracias por tu ayuda

JMiur  

En los comentarios no pueden agregarse códigos sin convertir los símbolos < y > en entities.

Responder
Diario del Bicentenario  

Jmiur: tengo una consulta sobre esto de los condicionales, cambie mi plantilla por una que estuve armando de acuerdo a mis necesidades pero resulta que cosas como el leer mas, el enlace de los titulos de los post y el boton me gusta de facebook me aparecen solo en el home. Cuando le doy al boton entradas antiguas me tira las entradas mas viejas pero sin el boton me gusta, sin el leer mas y sin el enlace en los titulos (aparece el titulo, la foto y el pequeño resumen antes del leer mas y no puedo entrar al post completo)¿PORQUE? intente con esto de los condicionales pero no logro dar con el resultado, si le cambio por el condicional para que se vea en todas las entradas no hay cambios, sigue igual, me podras ayudar?

JMiur  

Es imposible saberlo porque no es algo que pueda verse online, puede ser que los condicionales que estás usando sean incorrectos o no abarquen todas las alternativas pero, no puedo decirte el motivo sin saber cuáles son y que intentabas hacer con ellos.

Responder
La Guitarra es Facil  

Buenas yo he usado estos códigos con anterioridad para ocultar unos widgets salvo en la página principal y todo iba correctamente. Ahora lo que quiero es hacer que un widget de la sidebar no aparezca en la página principal pero si en el resto, funciona como antes salvo que en el sidebar no se ve el widget pero si un espacio en blanco donde este debería ir. Resulta molesto para el diseño y me gustaría saber porque sucede esto y como solucionarlo, ya que solo me pasa cuando uso condicionales en la sidebar :S Gracias de antemano.

JMiur  

Funciona exactamente igual que siempre, lo que ocurre en tu blog es que los widgets de la sidebar tienen un color de fondo y un padding por lo tanto, el contenido no se ve pero si ve ese espacio generado por el padding.

Si se trata del Gadget2, por ejemplo, también debes crear una regla de estilo y condicionarla; por ejemplo:

<b:if cond='data:blog.url == data:blog.homepageUrl'>
<style>
..... aca las reglas de estilo necesarias
</style>
</b:if>

una posibilidad:
#Gadget2 {padding:0;}

otra:
#Gadget2 {display:none;}

Oscar  

¿Como seria con las hojas de estilo antiguas? Las reglas de estilo en mi blog aparecen asi:

#Gadget2 {

}

Probando el código que me das no funciona, lo he intentado de otras maneras pero nada. Gracias

JMiur  

No sé qué es el lo que estás haciendo, deberías colocarlo en ti blog para verlo.

Responder
Sebastian A. Cañón  

Ahora estoy aquí, jejeje tengo una duda después de probar y probar, logre meter el indice en una página estática, ahora me gustaría que esa página estática fuera diferente al resto del blog, pero sin modificar todas las demás páginas estáticas, es decir aplicar estilo diferente solo al indice de mi blog!!!! probé con "" Pero no hace caso ahora si saco "http://mismodvisdin.blogspot.com.ar/p/indice.html" y pongo en su lugar "static_page" si, pero ahí modifica todas las estáticas.

No se si se entendio, y si me puedes dar solución, de antemano gracias!!!

JMiur  

No sé a te refieres con probar con "":

Si tu blog es redirigido con un prefijo de pais, usar algo como:

<b:if cond='data:blog.url == &quot;http://miblog.blogspot.com/2013/01/titulo.html&quot;'>

podría no servir ya que no hay una dirección http://miblog.blogspot.com/ sino varias:
http://miblog.blogspot.com.ar
http://miblog.blogspot.com.mx
http://miblog.blogspot.com.es
etc,etc, etc

En ese caso, es mejor usar la condición cn el título: data:blog.pageName

Sebastian A. Cañón  

Gracias, por la iformación igual ya lo solucione, y el tema en lo que no entendio es que no salio lo que coloque, igual muchas gracias!!!

Responder
Joan Rodriguez  

Hola JMiur!...

Resulta que no tengo un blog, o por lo menos esta función la necesito es para una web que pague pero en donde no me dan acceso a php ni servidores, solo a modificaciones de diseño. Por eso utilizo muchas funciones de Blogger que me sirven perfectamente.

Mi pregunta, es que necesito montar un script en el menú de la izquierda, pero que aparezca solo cuando cierta pagina se abra. "Te explico mejor", El script que necesito poner es el conteo del carrito de compras, el que dice cuantos artículos llevo en la cesta, y necesito que aparezca solo cuando el cliente utiliza la pagina de la tienda la cual tiene una URL diferente a la del home y solo puede accederse a ella iniciando sesión.

El problema es que en las condicionales tú utilizas:

cond='data:blog.url

pero esto no me sirve en mi web, en ese caso que podría poner yo? acaso algo como:

cond='data:web.url (que por cierto estaría loco pero ya lo use y no me sirvió!!)

Te agradezco mucho, perdona la molestia y espero entiendas mi enrredijo!... ;) Un abrazo desde Colombia, veo tu blog muy a menudo!!!

JMiur  

Se entiende pero lo que no se entiende es eso de no tener acceso al php ya que si ese es el lenguaje que usa, el diseño también se hace usando ese lenguaje así que deberías tener algún tipo de acceso a datos como $_SESSION y con eso, condicionar el html.

Imagino entonces que se trata de algún sistema pre-armado donde sólo se pueden agregar ciertos códigos pero no especificas cuáles. Obviamente, no puedes usar los condicionales de Blogger ni nada similar.

¿Puede agregarse JavaScript? Si es así y puedes identificar la url de la pagina con exactitud y además, identificar la etiqueta que contiene ese conteo del carrito mediante su id, entonces, tal vez podría hacerse algo.

No sé cuál es el sistema que usas o cuál es el sitio en cuestión ni está claro cuáles son las posibilidades de edición que tienes.

Joan Rodriguez  

Tienes Razón!...

Mira si quieres puedes informarte en esta página web, allí puedes crear una pagina web y te obsequian un subdominio (mipagina.mex.tl), pero no puedes acceder a nada interno, solo modificar el diseño, agregar contenido y permitir registro de usuarios (Que fue lo que me gusto), pero todo bajo unos parámetros de restricción. puedes ver un ejemplo ingresando a esta pagina http://purifil.pagina.gr/

En todo caso, los script que manejas aquí los he usado en mi pagina y me han servido muchísimo, por lo que es la manera más fácil. Lo que intente anoche y no me dejo dormir es que la condicional que mencionaste aquí me funciona de maravilla en blogger, pero en este tipo de pagina no se como adaptarlo para que mi script se vea en el menú solo cuando tengo la pagina de la tienda abierta, ya que no es un blog de blogger.

Espero que puedas enterderme, me enredo con facilidad!... :(

JMiur  

Entenderse se entiende. Lo que se muestra en esta entrada y llamas script y no es un script; es código interno de Blogger por lo tanto, no puede aplciarse en otro sitio.

Como te dije, para hacer algo semejante, debe saberse cuál es la página y cuñal es el elemento a ocultar.

Por ejemplo, si la url fuera: http://misitio.com/mi_pagina.html
y lo que quisera ocultar tuviera un ID como: nombre_del_id

<script>
window.onload = function () {
var pagina = window.location.href;
if(pagina=="http://misitio.com/mi_pagina.html"){
document.getElementById('nombre_del_id').style.display="none";
}
}
</script>

Responder
Facundo Ramírez  

Aunque esta entrada es del 2009, se mantiene muy vigente! Gracias por todo lo publicado, me sirvió de mucho!
Aunque me quedé con una duda... ¿las páginas "Páginas" de blogger (de url: ...blogspot.com/p/pagina.html) también son de tipo "item"? porque traté de filtrar esas páginas pero con "item" se iban igual.
De todos modos ya encontré una forma -menos ortodoxa- de filtrarlas.
Gracias nuevamente!
Saludos.

JMiur  

Este artículo es anterior a la existencia de las páginas estáticas que, no son del tipo item sino del tipo static_page así que la condición sería:

<b:if cond='data:blog.pageType == &&quot;static_page&quot;'>
... esto se ejecutará en las páginas estáticas
</b:if>

Responder
Manuel Benitez Ramirez  

necesito condicionar sólo dos entradas diferentes con el mismo css, pero diferente a todo el resto .
Lo he hecho estilo



#outer-wrapper {
width: 1260px;
}







#outer-wrapper {
width: 1260px;
}



¿Lo puedo anidar?

JMiur  

El código que muestras es poco claro o está incompleto.

Responder
Manuel Benitez Ramirez  

Pongo un enlace al codigo
https://docs.google.com/document/d/1nLqSsm3JfWAvl6jLe41ksL6riCA6KyFsQcGUDaOpTEY/edit?usp=sharing
Lo que quiero decir que hay varias entradas que necesito modificar el ancho de las entradas, pero si puedo ponerlo en un solo condicional.
Gracias

JMiur  

Blogger no tiene condicionales múltiples; si se trata de entradas individuales, hay que definirlas una por una.

Manuel Benitez Ramirez  

gracias, una cosa mas, ¿se puede sacar, todo el css, y alojarlo fuera?.¿ Se gana velocidad de carga?. Es que lei el articulo tuyo, sobre page speed, y a mi me da las mismas advertencias?

JMiur  

No. No ganarías nada. El resultado sería neutro o incluso peor ya que la carga desde un sitio externo, es siempre más lenta.

Más allá de los errores reales o algún detalle, los análisis de los servicios automáticos son inútiles ya que deberían ser realizados teniendo en cuenta el contexto en que se está y eso, no lo hacen.

Google tiene la mala costumbre del "haz lo que yo digo pero no lo que yo hago" :D

Responder
Manuel Benitez Ramirez  

jjajajaja muchas gracias por tu trabajo. Un abrazo

Responder
Carlos Huaman Chacaliaza  

Muchas gracias por su trabajo y la ayuda que nos brindan. Mi pregunta es la siguiente:

Si quiero ocultar los gadget laterales de una pagina en especifico por ejemplo:
http://www.otakus-dream.com/p/chat-irc-rod.html

Como seria el codigo?? Lamento preguntarlo de esta manera; pero no tengo mucho conocimiento. Gracias de antemano.

JMiur  

Con CSS lo básico sería algo así:

<b:if cond='data:blog.url == &quot;http://www.otakus-dream.com/p/chat-irc-rod.html&quot;'>
<style>
.sidebar {display:none;}
</style>
</b:if>

pero seguramente, requiere más ajustes y eso, sólo lo oculta.

Para que no se cargue debe ser la misma condición pero hay que hacerlo en el HTML pero los detalles no los puedo poner ya que eso depende de la forma en que está escrita al plantilla.

Responder
Jhoanna Pérez  

Hola jMiur,

Acabo de agregar un style al botón de suscripción que puse al final de las entradas. El asunto es que me di cuenta que ese style también se aplicó al boton de busqueda que tengo en el sidebar y otros botones de otras entradas. ¿Podría usar las condicionales para que ese style solamente se aplique al botón de la caja de suscripción y no otros botones? Si es así, ¿cómo sería? Muchas gracias por tu ayuda ;)

JMiur  

No, eso no se cambia con condicionales, basta que establezcas el CSS correto. SI el blog es naturamujer.com sólo debes cambiar la regla:

input[type="submit"]{
........
}

que se aplica a todos los botones de la página; por

#UT-Sub input[type="submit"]{
........
}

que sólo se aplica a los que están dentro de ese div.

Responder
Kelvis Albarran  

Saludos, muy buena entrada. Tengo una duda y es que, en mi blog, en varias ocasiones un post suele tener varias etiquetas y estoy tratando de que un widget se ejecute en las entradas que tengan una etiqueta en especifico, a pesar de tener otra.

¿Es esto posible?

JMiur  

No entiendo cuál es tu problema. La condición es la misma.

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