La diferencia entre ocultar algo con CSS o JavaScript y usar estos condicionales es sustancial. Si bien, a simple vista parece lo mismo, no lo es en absoluto. Cuando ocultamos con CSS usando propiedades como display:none; sólo hacemos invisible cierta parte pero, el código y su contenido, serán ejecutados igual; como resultado, el tiempo de carga del sitio no variará ya que la cantidad de datos que debe leer el navegador es la misma. Lo comprobamos con facilidad; si miramos el código fuente, eso que ocultamos se verá.
Por el contrario, los condicionales no son ejecutados por el navegador sino por el mismo Blogger, es decir, se ejecutan ANTES que la página sea enviada al navegador; Blogger "escribe" el código fuente y omite esa parte condicionada. Como resultado, si miramos el código fuente, no la veremos; de ese modo, aún cuando nuestra plantilla sea muy grande, la carga del sitio será más rápida por la simple razón de que hay sectores que son ignoradas.
item son las páginas individuales:
http://miblog.blogspot.com/2010/04/titulo.html
archive son las páginas que se ven cuando navegamos usando el elemento Archivos:
http://miblog.blogspot.com/2010_04_01_archive.html
static_page son las páginas estáticas:
http://miblog.blogspot.com/p/titulo.html
index son todas las demás, el home, cuando navegamos entradas antiguas o las etiquetas:
http://miblog.blogspot.com/search/
http://miblog.blogspot.com/search/label/nombreetiqueta
http://miblog.blogspot.com/search?updated-max=2010-01-11T11.......&max-results=2
Todas ellas son accesibles si leemos este dato:
<data:blog.pageType/>
Así que podemos crear cualquiera de estas condiciones de este modo:
<b:if cond='data:blog.pageType == "item"'> ... esto sólo se verá en las páginas individuales ... </b:if>
<b:if cond='data:blog.pageType != "item"'> ... esto se verá en todas las páginas excepto en las páginas individuales </b:if>
<b:if cond='data:blog.homepageUrl == data:blog.url'>
... esto se verá en el home ...
</b:if>
<b:if cond='data:blog.pageType == "index"'> <!-- OK es una página de tipo index --> <b:if cond='data:blog.homepageUrl == data:blog.url'> <!-- y es el home --> ... así que acá muestro algo ... <b:else/> <!-- como no es el home --> ... acá muestro otra cosa ... </b:if> </b:if>
Una condición más nos permite saber si estamos en una entrada específica; basta saber la URL de esa entrada:
<b:if cond='data:blog.url == "http://miblog.blogspot.com/2010/04/titulo.html"'> ... esto sólo se verá en este post y nada más que en este post ... </b:if>
<b:widget id='XXXX' locked='false' title='' type='XXXX'> <b:includable id='main'> <b:if cond='data:blog.pageType == "item"'> ... cualquier tipo de código que coloque el widget ... </b:if> </b:includable> </b:widget>
72 comentarios:
Pregunta: Lees la mente?
Respuesta: Probablemente :D
Hace tiempo quería saber cómo condicionar un post específico. He llegado a la tierra prometida jeje
Por cierto, un post dedicado para vos. De inspiración tuve un Tweet de @Bolsanegra
Esto me va a servir para para darle una vuelta de rosca al modo de visualización del blog. A estudiarlo y si todo marcha bien (o no...) te lo muestro. Gracias por el post JMiur. Saludos
Jmiur, tu blog es una maravillosa herramienta de ayuda. He aplicado en mi blog de pruebas las condicionales y van perfectas pero no he sido capaz de manejar las anidadas. Lo que quería hacer es que un widget me apareciese sólo en tres entradas específicas pero algo debo hacer mal porque el resultado es que no se ve en ningun lado. La solución es tener tres widgets iguales y poner una sola condicional para cada entrada individual pero el resultado es que cada uno de los widgets que no aparecen comen espacio y el que se ve aparece muy descuadrado respecto al post ¿podrías darme una orientación?.
Gracias por todo y un saludo.
Oh, creo que esto es justamente lo que ando necesitando… ahora bien, pregunto al Maestro: ¿cómo hago para desconectar el Deep Freeze que tengo alojado en mi cabeza? "reinicie y restaure" me ordena desde adentro, cuando intento copiarte el blog de prueba. ¡Qué miércoles está pasando! :D
egoloco:
No, no leo la mente XD Ya bastante tengo con tratar de soportar la mia :D
Ahora me fjo en esa dedicación :D
Suerte con eso,Manfenix
Samuel Rego:
Tendría que ver el ejemplo pero, eso que dices es correcto. Creo que habría una forma de no repetir el widget. Estuve tratando de escribirlo acá pero es imposible; déjame pasarlo en limpio con un ejemplo y mañana o pasado lo publico para ver si es una solución aceptable.
GARABATO: Para eso, sólo hay dos soluciones, o resignarse y aprender a convivir con esas manías, o una lobotomía. Me inclino por la primera alternativa ya que la segunda me parece efectiva pero un poco drastica :D
La dedicación era por lo geek, que se que es lo tuyo
:D
Está muy bueno... !!!! pero muy bueno.
Hols JMiur, ya ni me acuerdo desde cuando visito tu blog y el cual me ha ayudado mucho y como siemnpre tu respondiendo a dudas e inquietudes [de lo mejor], esta vez quekia pedirte porfa un super favor como nunca te lo pedí, tengo esta plantilla : http://xurl.es/txtdeplantilla
Se ve prometedor el proyecto si te fijas [su dominio es : www.mediopasaje.com]
Pero bueno , al grano ; en esa plantilla la cual estoy trabajando no he podido hacer que aparezca el texto inferior de que dice ENTRADAS ANTIGUAS - INICIO - ENTRADAS RECIENTES,el html si las posee pero no se xq no aparecen y lo otro queira que en cada post apareciera una imagen pequeña [algo asi omo el gadget de recent entradas], osea las imagenes pequeñas pero tampoco lo he logrado [eske no kiero usar dicho gadget] ,,, eso seria todo ... te pido de corazon me ayudes con ello tu que eres el mas capo de toda la internet en lo que es blogger... Porfa , puedes revisar el canal youtube de dicho blog y veras que es importante [Es de un programa de tv de Perú] por ello tantas entrevistas, pero deseo ps arreglar el blog, te lo pido si me ayudas pongo un banner de vagabundia en mediopasaje.com ; aunke no creo q nesecites mas trafico de el que ya tienes pero = , es lo menos que podria hacer por tu ayuda, esperando respuestas ..ok men.... gracias de antemano.
La hormiguita: Espero que le sea útil :)
Loiskob: El problema es sencillo de resolver, al aprecer, todo ese sector está oculto mediante CSS así que deberías eliminar el display: none; de estas definiciones:
#blog-pager-newer-link { display: none; }
#blog-pager-older-link { display: none; }
#blog-pager { display: none; }
Mil gracias, asi q era ello, bueno solo una mas porfa , la que te decia que en los post aparezca que se ven aparezca su imagen y de preferencia pequeña ...porfa solo eso mas te lo pido. Mil gracias de antemano.
Lo de una imagen en los posts no te sabría decir porque estás usando un script que no sé cómo modificar.
Oks, no importa, ya me ayudaste mucho en todo este tiempo ,,jeje ,,mil gracias men ,,,en verdad mil gracias..
necesito hacer un codigo que pueda pegar en la pagina www.refugiopalomar.com.ar en una lengueta que se llame ,por ej ,comentenos y que se abra direntamente en el blog de google,que estoy haciendo y que se llama refugiopalomar
gracias
No entiendo.
Jeje.. al comentario tuyo de arriba :) (Yo tampoco)
Estos dias estaba haciendo unas pruebas sobre codigos condicionales en el home; para intener crear 2 páginas principales.
La idea era mas o menos asi:
<b:if cond='data:blog.url == "http://elblog.blogspot.com/"'>
...aqui se muestra algo
</b:if>
<b:if cond='data:blog.url == "http://elblog.blogspot.com/index.html"'>
...aqui se muestra otra cosa
</b:if>
Y adaptar estos codigos al Html de la Plantilla.
Tuve la esperanza de que funcionara pero no funcionó. :)
Y mucho menos usando data:blog.homepageUrl, porque procesa el / y el /index.html como lo mismo. (Se me ocurre que puede ser posible con Javascript)
No se si sepas o se te ocurra alguna solucion, pues si me gustaría cambiar "de golpe" el diseño de la página principal y dejar otra alternativa.
Saludos.
http://elblog.blogspot.com/
y
http://elblog.blogspot.com/index.html
No son dos páginas distintas sino la misma. index.html o index.php según sea el servicio que se utiliza, es el home del sitio y no escribir esa parte, sólo es una convención para indicar el home de manera genérica. No va a funcionar porque en ambos casos, data:blog.url y data:blog.homepageUrl son lo mismo: http://elblog.blogspot.com/
Si puede hacerse con Javascript, leyendo document.URL:
if(document.URL=="http://elblog.blogspot.com/";) {
HACER ALGO
} else if(document.URL=="http://elblog.blogspot.com/index.html") {
HACER OTRA COSA
}
Gracias por la información.
A la final mas bien decidí "montar" una página de inicio alternativa en una página estática, y pues dejar el enlace a los navegantes.
Menos complicado. ;)
Saludos.
Hola Jorge, otra vez te consulto porque siempre me has servido de gran ayuda. Tengo una pregunta, verás, he entendido parte de la entrada y he sabido condicionar algunos gadgets. Ahora querría que el background del Outer-wrapper cambiara de color en todas las entradas con una determinada etiqueta. He intentado combinaciones y demás, pero soy inútil. No sé ni cómo ni dónde se pone. ¿Podrías ayudarme?. Gracias.
El enlace del blog es éste: http://abdokari-libya.blogspot.com/
Eso ya no es tan sencillo de conseguir porque no hay condicionales que permitan controlarlo. Es posible hacerlo pero, debería modificarse el código de Blogger que muestra las etiquetas. El cambio, recién se haría cuando comience a mostrarse el post así que primero habría un color de fondo "normal" y luego cambiaría.
Voy a ver si logro explciarlo en una entrada. Dependiendo de cada blog, el efecto no sería agradable justamente porque no se vería el color desde el inicio.
Hola Jmiur, te quiero hacer una pregunta, se pueden condicionar articulos de determinadas fechas, es decir que solo aparezcan el widget que quiero condicionar en los articulos publicados en determinado mes (http://www.mejorarfinanzas.com/2010/10/)
Y la otra pregunta es:
Puedo condicionar segun la etiqueta, por ejemplo. este articulo esta en la eiqueta humor financiero (http://www.mejorarfinanzas.com/2010/10/producto-que-soluciona-tu-problema-de.html) se puede condicionar algo para que solo aparezca en entradas que tienen determinada etiqueta?
Al tanto de tu respuesta, desde ya gracias.
Lo de la fecha imagino que es posible pero implica tener que usar JavaScript para leer ese dato y evaluarlo de alguna manera.. Es algo que puede extraerse de la misma URL de la página o bien desde el LOOP de las entradas. Debo advertir que, a simple vista, parecería algo demasiado complejo.
Algo similar ocurre con las etiquetas; es un dato que sólo es accesible en el LOOP de Blogger y cualquier cosa que quiera condicionarse, debe hacerse desde allí, usandoJavaScript. ALgo de eso puedes ver en esta entrada.
Espero no haber llegado tarde al tema. Me gustaría saber si con los condicionales de Blogger se puede ocultar el contenido del pie de entradas, dependiendo de la etiqueta.
Por ejemplo, si X entrada está etiquetada con "Blogger", se mostrará el contenido sin el pie de entrada.
¿Es posible?
Cristian:
Nunca es tarde :D
Poder se puede pero, debes usr JavaScript porque no hay códigos condicionales para eso. Un ejemplo de algo similar es el que se meustra en esta entrada
Jmiur, no se como decirte, si genio o maestro, creo que ambos calificativos se quedan cortos.
Pues me he pasado un par de horas examinando y haciendo lo que me recomendaste, pero aun no logro completar 100 por ciento mi mision:
Siguiendo tus pasos he logrado condicionar este articulo:
http://www.mejorarfinanzas.com/2010/09/5-errores-que-debes-evitar-en-tu-blog.html
que correponde a la etiqueta SEO
este es un articulo de otra etiqueta y se muestra normal
http://www.mejorarfinanzas.com/2010/08/pelicula-el-origen-como-las-ideas.html
Bien, como ves en la etiqueta SEO se mira la imagen, pero mi objetivo es mostrar un anuncio de adsense en lugar de la imagen, el proposito es motrar anuncios solo en ciertas categorias (con los articulos mas visitados) para no tener lleno de anuncios otras categorias menos relevantes.
Como hago para que aparezca el bloque de anuncios en lugar de donde sta esa imagen???
Estare pendiente de tu respuesta, mil gracias, de verdad, gracias :D
El tema es que, al no haber condicionales de Blogger, las posibilidades son pocas.
Una, si es que el bloque puede ir en esa misma zona donde se leen als etiquetas es hacer esto:
<b:if cond='data:label.name == "ETIQUETA"'>
... aca pongo el codigo de Adsense ...
</b:if>
Otra posibilidad es colocar el bloque de Adsense en cualquier parte pero dentro de un DIV con un ID:
<div id='algunnombre'>
... aca pongo el codigo de Adsense ...
</div>
Luego, la condición en el bucle de las entrads sería algo así:
<b:if cond='data:label.name == "ETIQUETA"'>
<style> #algunnombre {display:none;} </style>
</b:if>
con eso, simplemente se lo oculta.
Como el bloque de Adsense no puede ser escrito con JavaScript sino que debe estar en al plantilla misma, las cosas no son tan fáciles; si fuera cualquier otro tipo de codigo, se usaría document.write() para escribirlo.
Hola Jmiur, gracias a tus consejos he avanzado mucho, ya logro que aparezca el anuncio de adsense solo en articulos con determinada etiqueta, pero no logro ponerlo en el lugar justo donde kiero que aparezca, puedes verlo en esta entrada http://www.mejorarfinanzas.com/2010/09/5-errores-que-debes-evitar-en-tu-blog.html
El anuncio esta hasta abajo de la entrada, al final despues de las etiquetas, pero yo kiero que aparezca debajo del titulo del articulo, tu sabes que debo hacer? se que es algo cansado esto, pero ayudame por favor :D
Gracias
Imagino que aprece ahí debajo porque ese es el lugar donde está el bucle que muestra las etiquetas.
No hay ningún problema en repetir ese mismo bucle y poner otro arriba, donde quieras mostrar el anuncio; en el de abajo muestras las etiquetas de modo normal y el de arriba sólo lo usas para condicional el anuncio:
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "ETIQUETA"'>
...... adsense
</b:if>
</b:loop>
Logré hacerlo! :D La solución es un tanto casera, pero por lo pronto no he encontrado problemas...
Lo primero que hice fue adoptar el código que posteaste, ese que permite ocultar un artículo dentro de X etiqueta para que no lo muestre si se trata de la página principal.
Una vez hecho eso, abrí otra "secuencia de condicionales" donde usé el "==" en vez del "!=" para que me muestre el posteo en X etiqueta. En vez de dejarlo abierto con un else, cerré el b:if final y me dispuse a trabajar en lo que necesitaba que se vea.
Para eso borré el b:include original del código para los miniposts en la sidebar, agregué algunos datas (cuerpo del post y comentarios) y un elemento div para darle estilo.
Como dije, es muy casera la solución, pero por ahora me funciona... estoy escribiendo un post para explicarlo un poco mejor.
Me parce perfecto. Lo básico es saber que podemos averiguar la etiqueta en ese bucle y listo, el resto, queda librado a la imaginación de cada uno. Toda solución es casera y esas son las que sirven :-D
Buenas de nuevo,
Tras investigar un poco más, debo replantear mi duda (hacer caso omiso de mi anterior comentario) xD
En concreto lo que ando buscando es que tengo que introducir en el condicional para que en una pagina "index" no me aparezcan los widgets laterales.
Es que no es tan simple de responder. Una página de tipo INDEX, incluye el home por ejemplo, algo de eso es lo que muestra el post en uno de los códigos. No hay una forma única para hacer eso, dependerá del diseño, de si quieres ocultar toda la sidebar o si quieres ocultar sólo alguna parte.
Pues he estado mirando por otros lados, y conseguí quitar los widgets de todas las paginas menos de la principal, pero se me queda incrustado el fondo, que es una imagen .png y esta relacionado con la variable "tabs.background.color", no se si voy tirando palos de ciego, pero... ¿Cómo podría ocultar esta esta parte?
Es imposible intentar responder si no sé cuál es tu blog.
Hola Jorge.
En primer lugar gracias por tu atención y disculpa por molestarte tanto algunas veces.
La pregunta de hoy tal vez puede ser sencilla pero me he liado y no he podido hacerlo.
La idea es sencilla, aplicar condicionales dentro de los gadgets que se añaden a través de "Elementos de Página".
Tengo un gadget de tipo HTML/Javascript y dentro del código aplique el condicional pero no ha funcionado de ningun modo, quiero condicionar un script, así que la idea es esta:
... aquí ejecuto el script...
Y nada. Se que Blogger es mañoso así que tambien probé sustituyendo las comillas sencillas por comillas dobles y tampoco :(
¿Sabes de pura casualidad algo al respecto?
Ay disculpa Jorge, olvidé hacer el cambio de < y >
La idea es condicionar así:
<b:if cond='data:blog.homepageUrl != data:blog.url'>
...aqui va el script que quiero condicionar..
</b:if>
Gracias!
No se ve el código, Felipe pero, los condicionales no pueden ser agregados dentro de un elemento HTML o dentro de ningún gadget, siempre deben ser agregados en la plantilla y nunca fuera de ella. Sólo la plantilla misma acepta los códigos XML de Blogger.
Estamos comentando casi al tiempo jeje :D
Gracias por la aclaración, entonces trataré de poner lo que quiero mostrar a través de la Edición HTML y no como gadget.
Mil gracias y saludos! :)
Sí, si vas a usar condicionales, es la única manera.
Hola! Jmiur! tengo una duda como deberia hacer si quiero que las entradas se muestran decierto tamaño cuando estan individualmente y cuando estan en el home tengan otro tamaño.??
Las condiciones son als que indica la entrada, el contenido, o qué cosas condicionar lo desconzoco porque no sé que quieres hacer; será el ancho o alto de algo pero no sé de qué.
Hola bueno yo lo que quiero hacer es que cada entrada nueva no aparezca en el home sino en paginas estaticas, como puedo hacer eso??
Las entradas no son páginas estáticas, son dos cosas diferentes; no sé que es lo que quieres mostrar en tu home.
Fantástico! justo ahora me ha servido para mi blog...esta genial esta info...
Despúes de algunas horas de intentos por mi mismo tengo una duda:
Necesito Ocultar la sidebar-wrapper y sidebar-wrapper2 en todo la nevagcion de etiquetas, lo que señalaste como:
http://miblog.blogspot.com/search/
http://miblog.blogspot.com/search/label/nombreetiqueta
http://miblog.blogspot.com/search?updated-max=2010-01-11T11.......&max-results=2
Puede condicionar todo, menos eso...
Si uso:
como dices que el Home es una pagina tipo index, no sale, intente hacerlo como el ejemplo:
... así que acá muestro algo ...
... acá muestro otra cosa ...
No me salio.
Espero se entienda la idea, saludos.
Lo mas cercano (segun yo) que pude hacerlo fue así:
<b:if cond='data:blog.pageType == "index"'>
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<style type='text/css'>
#sidebar-wrapper {
float:right;
margin-top:15px;
overflow:hidden;
width:220px;
word-wrap:break-word;
}
#sidebar-wrapper2 {
float:left;
margin-left:10px;
overflow:hidden;
width:140px;
word-wrap:break-word;
}
</style>
</b:if>
<b:else/>
#sidebar-wrapper {
display: none;
visibility: hidden;
}
#sidebar-wrapper2 {
display: none;
visibility: hidden;
}
</b:if>
Como dije lo único que quiero es ocultar sidebar-wrapper y sidebar-wrapper2 en toda la navegación:
http://miblog.blogspot.com/search/
http://miblog.blogspot.com/search/label/nombreetiqueta
http://miblog.blogspot.com/search?updated-max=2010-01-11T11.......&max-results=2
Ya pude condicionarlo en al archivo, en las paginas estaticas y en paginas individuales de las entradas, pero a eso no le atino :S ufff!
Esa condición no esta bien estructurada, dice:
<b:if cond='data:blog.pageType == "index"'>
........... SI ES UNA PAGINA TIPO INDEX
<b:if cond='data:blog.homepageUrl == data:blog.url'>
........... Y ADEMAS, ES EL HOME : MUESTRO LA SIDEBAR
</b:if>
........... PERO SI NO ES EL HOME ... NO HAGO NADA AUNQUE ES INDEX
<b:else/>
........... NO ES UNA PAGINA TIPO INDEX Y OCULTO LA SIDEBAR
</b:if>
O sea, hace lo contrario. La solución es similar, pero debes usar el NOT.
PRIMERO, tengo definido que por defecto, la sidebar se muestra, eso no hace falta condicionarlo.
<b:if cond='data:blog.homepageUrl != data:blog.url'>
........ NO ES EL HOME
<b:if cond='data:blog.pageType == "index"'>
........ PERO ES UNA PAGINA INDEX
<style>; ........ ENTONCES OCULTO LA SIDEBAR ........ </style>
</b:if>
</b:if>
Eso, oculta la sidebar en las páginas de etiquetas, archivos y cuando se usa la navegación inferior (anterior y siguiente) ya que todas esas son páginas de tipo index.
Espero que se entienda la idea.
Gracias, ya quedo. ;)
No le entendía muy bien a la explicación de la entrada, pero esta fue una explicación perfecta. Un Saludo y Felicitaciones :D
Me alegra que sirviera :-)
He decidido que cada vez que aprenda algo en tu blog te lo diré, porque te leo desde hace años aprendiendo y muy pocas veces te lo digo.
Hoy, este post me ayudó a condicionar el widget de http://www.linkwithin.com!!
Gracias, Gracias, Gracias!!
No tiene importancia, Tuky. Me alegro que te sea últil :-D
Hola JMiur,
estaoy desarrolando un sitio web y tengo un pequeño reto, del cual no acabo de librarme con mis intentos. La qüestión és:
Como puedo anular el enlace del titulo de la entrada cuando estoy navegando las entradas de una etiqueta concreta?
Aprovecho también para felicitarle por este magnífico blog sin el cual muchos de nosotros no nos hubiéramos embarcado nunca en la aventura de diseñar para blogger. Te comparto el enlace del sitio que estoy trabajando por si te parece bien echarle un vistazo i ver que te parece www.sinusmanmusic.com
Saludos!
No hay un condicional para eso, Albert. Las etiquetas son páginas de tipo index al igual que muchas otras como la navegación. De todos modos, para ese diseño, podría intentarlo y ver si tiene efectos indeseados.
No puedo darte los detalles precisos porque esa plantilla sale de lo clásico y usa clases personales así que no sé cual es su estructura pero, si identificas la parte donde se genera ese título, habría que poner algo así:
<b:if cond='data:blog.pageType != "index"'>
....... aca colocas sól oel título ...
<b:else>
....... aca dejas el código normal ...
</b:id>
... esto se verá en todas las páginas excepto en las páginas individuales
Hola JMiur, justo acabando de escribirle el comentario anterior he dado con la respuesta. Igualmente muchas gracias por su atención y sus comentarios.
Un abrazo!
Hola JMiur :)
Quisiera saber si me puedes ayudar con esto por favor.
Tengo un recuadro de "Artículos relacionados" al final de las entradas de mi blog.
por ejemplo en esta entrada: ¿Los perros ven en blanco y negro
Me he dado cuenta que en el código de la plantilla muestra el número de artículos según el número de etiquetas, por ejemplo si tiene 2 etiquetas y el máximo de artículos relacionados son 10, mostraría 20 artículos en ese cuadro.
¿Cómo podría hacer para que tenga un máximo de 10 artículos relacionados cuando tiene solamente una etiqueta, pero con un máximo de 2 etiquetas se muestren 5 de cada?
Tengo esto en el código de la plantilla en esa área de artículos relacionados:
b:if cond='data:blog.pageType == "item"'>
script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=related_results_labels&max-results=5"' type='text/javascript'/>
/b:if>
Muchas gracias
Saludos :)
EL valor max-results=5 de ese script no indica cuantos se muestran sino cuántos se leerán y es un valor demasiado bajo ya que con ese valor, sólo se cargarán los 5 últimos. Obviamente, si hay pocas entradas publicadas, es indistinto pero, a medida que hay sólo lograrás que se repitan siempre los mismos. Convendría que ahí, el valor fuera entre 50 y 100.
Tal como se entiende ese script, lo que mostrará serán hasta un máximo de 20 artículos relacionados:
while (i < relatedTitles.length && i < 20)
sin importar si tiene 1 2 o 10 etiquetas; incluso, como no mezcla las entradas sino que las lee en orden, si una entrada tiene varias, la mayoría de las entradas relacionadas serán de la primer etiqueta.
Lo de mostrar un máximo de 10 cuando tiene solamente una etiqueta y 5 y 5 si tiene 2 es complicado, habría que re-hacer el script y no tiene mucho sentido; me parece que te convendría usar el viejo script que puedes ver en esta entrada que funcionará mejor y dará resultados más variados ya que primero leerá en orden y luego, mezclará los resultados de tal modo que siempre sean variados.
Gracias por la respuesta JMiur, disculpa la mia pero recién me doy cuenta de la notificación en mi mail.
A ver si comprendí bien:
el script entero que tienes en la entrada que me recomendaste debo ponerlo encima del /head> y la parte del código que te puse en mi comentario anterior debo borrarla y poner este:
script type='text/javascript'>
removeRelatedDuplicates();
mixRelatedLabels();
printRelatedLabels();
/script>
Estoy en lo correcto o debo añadir algo más?
Gracias :)
Si, algo por ese estilo si es que quieres cambiarlo.
es posible esconder las css tambien de una ID
si ves el perfil de mi blog, logro ocultar el contenido del ID en las entradas individuales pero no consigo que el css desaparezca (los 3 gadget de colores)
Gracias por anticipado!!!
Tu perfil no es público así que no sé de que blog se trata.
El CSS no se esconde, lo que puedes hacer es ocultar algún elemento o varios y eso, puede hacerse tanto indicando una clase como un ID.
Hola, Muy buena informacion, queria preguntarte si tienes conocimiento de un condicional para ocultar un gadget a lo que publica un autor en especifico, encontre uno para mostrar gadget en los post que escribe un autor especifico que es este:
<b:if cond='data:post.author == "nombreautor"'>
¿Hay algun condicional que haga lo contrario a este osea que oculte lo que quiero en los post de un autor especifico?
Saludos y Gracias!
La condición inversa es:
<b:if cond='data:post.author != "nombreautor"'>
Hola. Estoy con tu blog como un niño con zapatos nuevos. Me gusta mucho.
El caso es que ando buscando la manera de redireccionar la raíz (www.blogcondominiopropioporejemplo.com) a una página estática (.../p/paginadebienvenida.html). Luego incluyo un enlace que lleva a www.blogcondominiopropioporejemplo.com/?posts para ver las entradas del blog.
¿Se podría hacer así? Yo estoy intentándolo con javascript pero aún no atiné a la sintaxis correcta.
Gracias de antemano.
Fíjate en estas dos entradas: 1 | 2
He hecho así, utilizando el código de blogger para condicionales, y redirecciona bien desde la raíz:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<script language='Javascript'>
{
location.href='/p/portada.html';
};
</script>
</b:if>
Lo malo es que si voy a la dirección
www.blogdeejemplo.com/?posts
también detecta que estoy en la raíz del blog y vuelve a redirigirme, por lo que no puedo tener una lista de las entradas. ¿Se podría hacer que, por ejemplo, sacara las 7 últimas entradas con un filtro?
Hacer redirecciones con JavaScript tiene sus bemoles. Antes de ponerla en práctica, revisa si esa redirección no viola las directivas de Google.
Caray, no lo había leído.
El condicional lo he puesto sólo cuando se usa el dominio personalizado, no si entras desde blogspot.com ¿sigue siendo mal visto?
Lo del dominio es indistinto; ambos, el personalizado y el de blogspot son el mismo; la re-dirección se hace desde el servidor (Blogger) y por eso, esa re-dirección es válida. Cuando se entra por blogspot, se redirige al dominio personal; si no es así, es que algo no funciona.
Las re-direcciones que se hacen con JavaScript son siempre dudosas y eso no significa que no deban usarse sino que deben usarse con cuidado y, ni a los motores de búsqueda ni a los usuarios, les gusta que si se quiere abrir cierta url, esta, no exista y se vea otra.
Por eso te indicaba alas dos entradas de ejemplo; para que en el home no se vea el blog si no algo estático, lo mejor no es re-dirigirlo sino condicionar la plantilla de tal forma que se vea distinto según la url. El tema de cómo ver el blog ya es distinto y ahí debe usarse JavaScript para mostrar/ocultar el home "normal"
Este tipo de metodología, sea cual sea, garantiza que los buscadores verá siempre el home o index de modo normal y lo indexarán correctamente cosa que es imposible si se re-dirige a una página estática o si se muestran las entradas leyendo los feeds ya que los motores no leen JavaScript.
En resumen, todo depende de lo que cada uno pretenda y no hay soluciones universales ya que Blogger no dispone de ese tipo de alternativas; está pensado para alojar blogs y nada más.
Gracias por informarme, voy a intentar cambiarlo por la estructura que dices, ocultando y desocultando widgets. Me parece más complicado, pero al menos no se compromete el blog ni su lugar en los buscadores. Mil gracias.
Hay alguna forma de que muestre determinada cosa en una pagina individual con cierta etiqueta, por ejemplo quiero mostrar una imagen, solo en las entradas individuales que tengan la etiqueta "Noticia" se puede??
No hay condiciones para eso. Deber ver y tratar de entender cómo funciona el loop de Blogger que muestra las entradas y allí tratar de usar javascript para crear alguna función que haga eso.
¿Quiere dejar un comentario?
recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...
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 ...