Graciela preguntaba en un comentario si era posible excluir etiquetas en el truco que mostraban en La Bloguería
![](http://2.bp.blogspot.com/_hljKDuw-cxQ/SEr-5glbBlI/AAAAAAAAGtw/c3zlxgawsbg/s00/ImageBLOGUERIA.gif)
La respuesta quedará pendiente porque no se me ocurre nada que permita establecer condiciones y trasferírselas al archivo de Flash; sin embargo, como una cosa trae la otra, por ahora, empecemos con alguna prueba sencilla y veamos si es posible listar etiquetas basándonos en alguna condición.
Es sencillo de probar ya que podemos agregar tantos elementos Etiqueta como se nos ocurra y cada uno es independiente del otro así que creamos uno y lo ubicamos en la plantilla. Luego, en Edición HTML expandimos los artilugios y vamos a ver siempre el mismo código:
<b:widget id='LabelX' locked='false' title='El Titulo' type='Label'> <b:includable id='main'> <b:if cond='data:title'> <h2><data:title/></h2> </b:if> <div class='widget-content'> <ul> <b:loop values='data:labels' var='label'> <li> <b:if cond='data:blog.url == data:label.url'> <span expr:dir='data:blog.languageDirection'> <data:label.name/> </span> <b:else/> <a expr:dir='data:blog.languageDirection' expr:href='data:label.url'> <data:label.name/> </a> </b:if> <span dir='ltr'>(<data:label.count/>)</span> </li> </b:loop> </ul> <b:include name='quickedit'/> </div> </b:includable> </b:widget>
NOTAS: En todo ese código, siempre vamos a reemplazar lo marcado en color que es la lista de las etiquetas y en todos los casos estoy excluyendo un dato que coloca Blogger (data:blog.languageDirection) para definir la dirección del texto ya que asumo que estamos escribiendo de izquierda a derecha.
La primera condición es la más sencilla, vamos a mostrar sólo las etiquetas que tengan un mínimo de entradas. Si quisiéramos listar las que tengan más de cinco entradas escribiríamos:
<ul> <b:loop values='data:labels' var='label'> <b:if cond='data:label.count > 5'> <li> <b:if cond='data:blog.url == data:label.url'> <data:label.name/> <b:else/> <a expr:href='data:label.url'> <data:label.name/> </a> </b:if> (<data:label.count/>) </li> </b:if> </b:loop> </ul>
SI la cantidad de entradas en la etiqueta (data:label.count) es mayor que 5 la mostramos, sino, la ignoramos.
Quiere decir que podemos establecer cualquier condición numérica y mostrar o no mostrar ciertas etiquetas. Veamos si podemos usar condiciones más sofisticadas, por ejemplo, SOLO mostrar algunas y EXCLUIR otras.
Para eso necesitamos recurrir al JavaScript y generar alguna clase de "lista" (un array) donde agreguemos las etiquetas que queremos evaluar. Supongamos que tenemos seis categorias que, en un rapto de originalidad llamo: primera segunda tercera cuarta quinta sexta.
Este, sería el código para mostrar solamente las etiquetas segunda tercera y sexta:
<ul> <script type='text/javascript'> var misEtiquetas = new Array('segunda','tercera', 'sexta'); <b:loop values='data:labels' var='label'> var cualEtiqueta = '<data:label.name/>'; if(misEtiquetas.indexOf(cualEtiqueta) > -1) { document.write("<li><a expr:href='data:label.url' rel='nofollow'><span><data:label.name/></span></a>(<data:label.count/>)</li>"); } </b:loop> </script> </ul>
¿Qué hicimos? Creamos una array llamada misEtiquetas donde colocamos (entre comillas y separadas por comas) la lista de etiquetas a ser mostradas. Luego, en el bucle, tomamos cada etiqueta (cualEtiqueta) y usamos una función (indexOf) para verificar si ese elemento es o no es parte de ese array. Esa función devuelve un valor de -1 si la respuesta es NO y un valor positivo si la respuesta es SI. Cuando verificamos esto último, usamos document.write() para escribir el item.
Lo mismo podemos hacer para excluir catergorías. simplemente, evaluamos la condición contraria; vamos a excluir las categorías segunda y sexta:
<ul> <script type='text/javascript'> var misEtiquetas = new Array('segunda','sexta'); <b:loop values='data:labels' var='label'> var cualEtiqueta = '<data:label.name/>'; if(misEtiquetas.indexOf(cualEtiqueta) == -1) { document.write("<li><a expr:href='data:label.url' rel='nofollow'><span><data:label.name/></span></a>(<data:label.count/>)</li>"); } </b:loop> </script> </ul>
63 comentarios:
JMIUR hola!!!, quería preguntarte porqué puede ser que no me aparezca la etiqueta diseño de mi blog, luego que he cambiado la plantilla (grave error), muchas gracias!!!
Graciela de Palomas
Interesante, pero me quedo con tu ultima pregunta.
Ya se vera en que usarla, "ya que en gustos y colores..."
Tengo una consulta sobre WP-Cumulus, como se puede hacer para que al clickear se muestre en otra pagina, es que los use para link de blogs que leo y no para tags, y se abre sobre mi blog.
Hola tu blog me parece muy bueno y para mi es de mucha ayuda. Por favor como puedo poner la fecha como tu en las entradas si puedes me das el codigo con imagen y todo. saludos y gracias
Esto contesta a mis inquietudes sobre las etiquetas y categorías?? O no tiene nada que ver?
Saludos;)
Graciela: ¿en cuál blog está es etiqueta?
Claudio: la única forma de hacer que los enlaces se abran en otra ventana con cualquier variante de Cumulus es modificar el archivo de Flash.
NaNy: Cómo hacer un calendario, está esxplciado en este post
k_nelita: En realidad, no, sólo son "pedacitos". Imagino que lo que necesitas es una respuesta completa que por ahora no tengo.
JMIUR hola nuevamente,no me sé explicar. Hice un cambio de plantilla, por otra del mismo blogger. Ha quedado sin poder acceder ha realizarle algún cambio, en el escritorio donde dice Diseño hace días que dice Plantilla. Muchas gracias!!!
ohh perdón me olvidé, en las ayudas no figura éste inconveniente, por lo que no sé qué hacer, gracias!!!
Ya entendí, Graciela ¿Es sólo un cambio de texto en esa solapa o han desaparecido las funciones que te permiten editar las plantillas?
Cariño si quiero puedo cambiar la plantilla por otra, personalizar plantilla no funciona. Donde debería decir Diseño, figura siempre Plantilla. He vuelto a poner la mínima. ¿Será que no se ha actualizado???.
Antes era simple, cambiabas la plantilla, podías darle color, poner una cabecera...lo he estaba realizando hasta que no me permite hacer ningún cambio. Gracias mi vida por contestar!!!
¿No será que recuperó una plantilla clásica ?
Lo que pregunta Gem@ es muy lógico. Si se trata del blog PALOMAS DE PAPEL; casi te diría que tiene razón porque el código fuente que veo no es el "normal". Parece ser una plantilla mínima pero de las "clásicas" y no de las plantillas "nuevas".
ohhh Gema y JMiur sí recuperó una mínima de las clásica y no puedo ingresar a personalizar. Personalizar está pero no funciona´. JMiur es Palomas. Gracias a los 2!!!
Es que en las clásicas, la personalización es limitada, allí está el problema.
me sugieres que cambie por????
Personalmente, sugiero que coloques una plantilla del nuevo modelo. No importa cual. Debe haber un botón o enlace que indique la forma de convertirla AYUDA DE BLOGGER
JMIUR ésa función no 'funciona' en Palomas, sí en el otro blog. Pinchas ahí, no vas a ningún lado...en fin...quedará así. Te agradezco muchísimo, saludos y sigo leyéndote!!!
Hola JMIUR, en primer lugar felicidades por el blog, soy asiduo visitante de tu blog pero es la primera vez, que hago un comentario, estoy montando un blog para informar de los difentes equipos y deportes que se practica em mi pueblo y creo que he encontrado una utilidad a la opcion de excluir etiquetas, he creado dos bloques de etiquetas una que son NOTICIAS en el que solo hay noticias y la otra donde estan las referente a las cronicas de los diferentes partido de cada semana de los equipos (con feeds) pero tambien me salen las etiquetas noticias que serian la excluiria, pues las tengo en el otro grupo.
Te pido disculpas por extenderme tanto, gracias de antemano i te adjunto direccion del Blog.
http://ajuntamentleague.blogspot.com/
GRACIAS,Rafael
Rafael:
Por lo que veo, estás usando un script apra mostrar esa parte de Croniques lo cual complica el tema del filtro. Aparentemente, lo que habría que hacer es modificar ese escript de tal modo de evaluar la etiqueta Noticias antes de mostrarla.
Entiendo que eso se muestra con:
text += "<li">"<a href='"+posturl+"'">" + posttitle + ""</a">"</li">";
pero, no sabría decirte exactamente cómo hacerlo, es algo que escapa a mi conocimiento.
Gracias por tu repuesta tan rapida, lo pruebo y te comento alguna cosa.Rafael
Lamento no poder ser de más ayuda, casi fue una respuesta instintiva :)
Ojalá logres resolverlo.
Hola, JMiur. Esto es precisamente lo que estaba buscando, pero tengo un problema. Además de querer separar dos clases de etiquetas (una, de temas; otra, de tramas), que puedo hacer con la explicación de este post, también quisiera que cada grupo de etiquetas fuera desplegable para mostrar una lista con los títulos asociados, como explicás en este post.
Y ya que te molesto, la hago completa: ¿puede hacerse que además de desplegar una lista la contraiga haciendo de nuevo click sobre ►, como en Archivo del blog? (Como seguí su explicación para hacer desplegable mi índice, esta última pregunta también se la hice a Rosa; pero está de viaje.)
Muchas gracias por adelantado. Excelente tu blog. Saludos.
Imagino que es posible. Debería ver un ejemplo completo online para darte una idea de por donde seguir pero, no creo que hubiese porblemas ya que cualquier bloque es desplegable y contraible.
En la sidebar de mi blog está lo que quiero modificar (lo llamé "Índice de temas y tramas ranqueados"). Por un lado, quiero que un segundo click sobre el triángulo contraiga la lista de post. Por otro lado, quisiera combinar ese script que hace desplegables las etiquetas con el que explicás acá para excluir unas y dejar otras, así puedo tener un grupo de etiquetas desplegables bajo la categoría de "Temas" y otro bajo la categoría de "Tramas". Ahora puedo tener todas las etiquetas desplegables en un solo grupo o dos grupos de etiquetas no desplegables, pero no sé cómo hacer para combinar ambos efectos. Ojalá haya logrado hacerme entender. Gracias de nuevo, JMiur.
Creo entender pero el tema me excede; modificar el script que expande las etiquetas está basatante más allá de mis conocimientos. Ni siquiera se me ocurre como guiarte, es un cóigo bastante complejo de entender :$
No hay problema. Creo que entonces voy a poner tres elementos: las dos clases de etiquetas no desplegables ordenadas por frecuencia (un ranking de temas y otro de tramas) y un índice de entradas con todas las etiquetas ordenadas alfabéticamente. Perdón: me quedé pensando en voz alta en tu blog.
Muchas gracias por contestar tan rápido.
Es lo que yo haría, tanto pensar en voz alta como aplicar esa solución :D
Me parece lo lógico ya que pueden agregarse varios elementos Etiquetas así que no hay problema en tener varios con distinto tipo ordenadas de diferente forma.
Solución implementada satisfactoriamente, salvo por un detalle: en ambos rankings cada nombre de etiqueta queda pegado al número entre paréntesis (del que no quiero prescindir, por tratarse justamente de un ranking). ¿Alguna idea de cómo separarlos con un espacio? Gracias de nuevo; prometo que será la última.
Podrías agregarle propiedades CSS ya que el enlace esta en un span y el numero no. Por ejemplo:
#Label1 a span, #Label2 a span {padding-right:10px}
Eso, separaría el número 10 pixeles.
Muchas gracias por la ayuda. Resuelta la separación entre nombres de etiquetas y números.
Pero el Internet Explorer 8 (que no uso, pero chequeo) tiene un "pero": no muestra los dos elementos Etiquetas agregados y filtrados (sí los títulos: "Ranking de temas" y "Ranking de tramas"). Me reporta estos errores:
Detalles de error de página web
Mensaje: El objeto no acepta esta propiedad o método
Línea: 1439
Carácter: 1
Código: 0
URI: http://zambullidas.blogspot.com/
Mensaje: El objeto no acepta esta propiedad o método
Línea: 1533
Carácter: 7
Código: 0
URI: http://zambullidas.blogspot.com/
Mensaje: 'a9501b' no está definido
Línea: 1827
Carácter: 1
Código: 0
URI: http://zambullidas.blogspot.com/
El último punto es el color de texto de la sidebar, que está así desde siempre y no vi que antes me lo marcara, pero tampoco debe importar mucho. Supongo que los dos primeros son el problema que impide ver los dos elementos Etiquetas agregados. Un amigo me dijo que lo mismo pasa en el Safari. ¿Alguna idea? Gracias de nuevo.
Eso parecería que es porque hay un bug de IE con una función llamada indexOf.
Lo más que puedo agregar es este enlace como referencia al problema y una solución aunque no lo he probado.
Después de varios intentos fracasados, te iba a escribir que te agradecía por la ayuda y que me iba a resignar a que los visitantes con IE tuvieran problemas. Buscando esta entrada encontré otra para conseguir lo mismo. Hubiera preferido quedarme con este método, porque escribo una sola lista de etiquetas y la excluyo o la hago excluyente, en lugar de escribir dos listas de etiquetas excluidas. Pero probé el otro método y, aunque dio ese trabajo de más (y el que dará si agrego etiquetas), quedó igual y el molesto IE no protestó.
Gracias por todo, otra vez.
Perfecto. Todo método es válido. Es una pena que el script perturbe tanto proque es mas sencillo pero, no hay mucho que hacer al respecto.
Hola no entendi la parte del script, lo de primera segunda tercera.... y donde colocarlo , esta buenisimo el blog pero me hace romper la cabeza para entender algunas cosas jaja .. ojala me ayudes gracias :D
Hola de nuevo me funciono, solo hay un pequeño problema, yo habia quitado los numeros de las etiquetas , pero las que incluyo con el script si me salen con numeros, alguna forma de quitarlos? , gracias de nuevo y disculpa ls molestias :P
perdon por los 3 comentarios seguidos creo que estoy copiando en el lugar equivocado el script porque ya no me funciona :( espero tu ayuda mejor jeje
El dato con la cantidad es <data:label.count/>
Lo otro, no podría contestarlo purque no sé donde está.
hola vagabundia necesito de tu ayuda ........ como puedo hacer para mostrar solo 4 entradas por etiqueta en blogger ya que por defecto es 20 agradecería tu ayuda.
¿Y para qué podría servir esto? ¡Ahhhhhh! Esa es una buena pregunta
Pues a mí me podría servir para lo siguiente (si me echas una manita): en mi blog tengo etiquetas sobre TEMA de las fotos (empiezan por minúscula) y etiquetas sobre EQUIPO usado al tomar la foto (empiezan por Mayúscula). Me gustaría poder discernir entre ellas para mostrarlas o manejarlas por separado en dos grupos aparentemente distintos. Así podría mostrar dentro de un rectángulo todas las etiquetas de TEMA y en otro aparte todas las de EQUIPO, clarificando un poco la cosa. Ahora las tengo todas mezcladas, claro; (se pueden ver sobre el contador) aquí.
La pregunta es ¿qué código he de usar para detectar si la primera letra de la etiqueta es minúscula o mayúscula? Es ahí donde tu ayuda me sería súmamente valiosa.
Un saludo.
No es tan sencillo como para mostrar un código universal, ¿es posible? imagino que sí pero habría que crear el script que verificara esa primera letra y probarlo. No, no será fácil :-)
Bueno, gracias de todas formas, JMiur. Entonces la única manera que se me ocurre es duplicar el gadget, marcar "MOSTRAR Etiquetas seleccionadas" en vez de "MOSTAR Todas las etiquetas" y seleccionar en uno todas las de TEMA y en el otro todas las de EQUIPO. Cuando incluya alguna etiqueta nueva en algún post, he de estar al tanto por si me aparece en los dos, desmarcarla del que no interese. Es un modo manual de trabajar pero no demasiado complicado. Un saludo y gracias de nuevo.
Esa es una muy buena idea. Me parece lo más sencillo. No se me había ocurrido :D
Rapaz, esta dica caiu do céu! Usei ela para criar criar uma categoria/label para cada autor do blog, depois escondi essas categorias/labels, na coluna lateral e no cabeçalho dos posts e assim consegui criar páginas com todos os posts de cada um dos autores do blog!!!
[]'s
Compulsivo
¡Que buena idea! No se me había ocurrido que podía usarse para eso :D
¿Para que se puede usar?
Pues a mi me ha sido muy útil eso de incluir solo ciertas categorías.
Saludos
Bom meu caro amigo,
não consegui, queria muito excluir os marcadores do rodapé de minhas postagens, mas insistem em aparecer...risos.
grande abraço!
Revisa la sintaxis, sobre todo, si las etiquetas tienen mayúsculas y minúsculas.
Y como haria para excluir los post que tienen ciertas etiquetas en la pag. principal?
Eso requeriría algún script especial y debería ser hecho "a medida". No es nada simple ya que los posts son mostrados sin restricciones y por lo tanto, deberían ser interceptados y analizados antes de ser mostrados. No hay una respuesta simple apra esa pregunta.
Si, supongo yo tambien que no debe ser facil, ademas que hay otro problema, al mismo tiempo tendria que adaptarlo para que funcione en conjunto con el script de resumir los post que habias explicado en uno de tus post (en realidad fueron 3 :P)
Sí; exactamente. En realidad, habría que usar algo similar a eso y ahí mismo ver si es posible determinar la etiqueta de la entrada y si es "prohibida" no mostrarlo ... muy complicado :D
Jaja Jmiur no me tires para abajo, ahora se me fueron las ganas de intenarlo :P
Claro el problema es que parte condicionar ya que existen las condiciones para etiquetas tambien, pero la cosa es que lo normal es condicionar las paginas ya que es lo mas facil pero con las etiquetas no le puedo encontrar sentido en que parte modificar..
Ah bueno. Entonces, me rectifico ES FÁCILISIMO :D
No hay condiciones para etiquetas. Las etiquetas sólo son accesibles en el LOOP de las entradas; de allí la complicación; es la única forma de saber si una entrada específica tiene una etiqueta determinada.
jaja me volvieron las ganas :P
Bueno gracias por la pista, voy a ver que puedo hacer
Lamentablemente debo ser medio burro porque no lo termino de entender.
No entiendo qué código debo utilizar. Tampoco sé dónde ponerlo en mi plantilla, si antes o después de qué.
Yo quiero que los artículos de mi blog con la etiqueta "no" pues, valga la redundancia, no aparezcan en la página principal.
Hola tanto tiempo, tengo una consulta ..hay alguna forma de que en la pagina principal solo se muestren solo los post con la etiqueta "cualquiernombre" ?
Ese dato sólo es accesible dentro del bucle del post. Una forma que tal vez pudiera funcionar:
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == "amp;ALGUNA"'>
... muestro el post
</b:if>
</b:loop>
<b:else>
... muestro el post
</b:if>
Lo hice con el script tuyo y funciono, cuando tiene que escribir le pongo todo el html del includable post. El problema ahora es que el footer se ve abajo del main-wrapper y no abajo de todo como antes, y no encuentro manera de solucionarlo.
Huu buenisimo, lo hice como vos me dijiste y funciono de 10, y no tengo que poner ese script y todo se me ve bien ahora. Gracias, me salvaste ;)
Si el footer se iba abajo es porque seguramente le fata algún clear:both en las definiciones para cancelar las flotaciones superiores pero, si ya anda ... me callo :D
Continúo luchando con este tema. Busque ayuda extra en GemaBlog (http://gemablog-.blogspot.com/2009/04/ocultar-post-en-la-pagina-principal.html) pero sin éxito. Me ayudo a entender mejor el tema pero no logro resultados.
Copio a continuación el código que tengo yo para ver si pueden ayudarme a resolver el problema:
|
|
|
|
|
|
|
|
|
|
|
|
|<.......
|
|
|
|
|
|
|
|
|
|
Allí pueden notar que dos cosas. La primera, que no pegue el código de Gemablog en el lugar donde recomiendan. La razón es que si lo pongo donde dice no solo no funciona, sino que además comienza a verse en forma incorrecta el formato de fecha de mi blog (http://municipalidadcentenario.blogspot.com/).
La segunda, que yo quiero que no se vea en la página Home las entradas con la etiqueta "No".
Agradeceré cualquier sugerencia.
Com overás, no hay código publicado en el comentario así que nada puedeo decirte sin verlo.
¿cómo puedo hacer para publicar el código y que no sea bloqueado por el sistema.
Comencé copiando y pegando el código pero me decía que no se podía. entonces le puse el símbolo "|" delante de cada párrafo y no mejoro la situación en nada.
Ningún formulario de comentarios admite códigos HTML más allá de unos pocos de formato.
Se deben reemplazar los caracteres < y > por sus equivalentes: < y >
¿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 ...