Cargando...

18 junio 2013

Personalizar el Enlace de "Más información" sin agregar CSS o muy poco (2 estilos)

Al leer el título, tal vez pienses que suena como a magia o fantasía, aunque en realidad no lo es. Simplemente se trata de sacar provecho del CSS que Blogger nos envía, y en este caso, me refiero específicamente al CSS del botón de enviar del formulario de contacto.

Este botón está asociado a dos clases en CSS, ¡así que puedes elegir entre dos estilos diferentes!. Si no sabes que es una clase te recomiendo echarle un vistazo a esta entrada que habla sobre las clases. Lo más interesante, es que puedes personalizar por ejemplo los enlaces de tu blog sin usar CSS adicional, o usar muy poco.

Si agregamos la(s) clase(s) al código de un elemento en la plantilla, como a un enlace, se aplicarán los estilos de éste. Por ejemplo, podemos personalizar el enlace a la entrada completa, me refiero a aquel que se agrega cuando usas el salto de linea del editor de entradas de Blogger y que de forma predeterminada dice "Más información". Recuerda que tú puedes editar ese texto desde Diseño, ingresando a las opciones de configuración de la entrada.

Bueno, para no confundirte o liarte mucho con tanto rollo, mejor veamos cómo crear dos estilos diferentes  para otros enlaces en tu blog ;)

Opción 1. Personalizar el enlace que dice "Más información" (botones grises)


Si  sigues los siguientes pasos, el enlace de leer más tendrá la apariencia que puedes ver en la imagen de abajo:

Personalizar enlace a la entrada completa


En este caso no agregaremos ni una sola linea de CSS, aunque al final de los pasos, he agregado una nota para que puedas cambiar el color del texto y eliminar el subrayado si así lo quieres, usando muy poco CSS. Dicho lo anterior vemos cómo lograrlo:

Pasos

  1. Desde el panel de Blogger, selecciona Plantilla  luego Editar HTML.
  2. Una vez que hayas accedido al editor, haz click en el botón que dice: Plantilla de formato, y luego, pulsa las teclas Ctrl + F simultáneamente.
  3. Hecho lo anterior, habrás activado el cuadro de búsqueda del editor. Ahora pega el siguiente texto en el campo: jump-link y pulsa la tecla Enter.
  4. Una vez que te encuentres en el código en cuestiónubícate en la linea que está debajo, me refiero a la que empieza así<a href='data:post.url + ..., y agrega esto, que he coloreado de azul: 

    class='contact-form-button'

    La linea que te menciono deberá quedar así:

    <div class='jump-link'>
      <a class='contact-form-button' href='data:post.url + "#more"'title='data:post.title'> <data:post.jumpText/>
      </a>
    </div>
    ...

  5. Verifica en vista previa y si todo luce bien, guarda los cambios.

¡Y listo!, habrás personalizado el enlace de leer más sin agregar una sola linea adicional de CSS en tu plantilla.


Nota: El color de texto que tenga el enlace (por defecto, el poner el puntero del ratón encima y el enlace visitado), dependerá de cómo esté declarado en la plantilla el color de los enlaces. Todo eso tú lo defines desde el diseñador de plantillas. Por otro lado, el subrayado aparecerá si así está definido que suceda, al poner el puntero del ratón sobre éste.

Si quieres personalizar el color del texto del enlace, por ejemplo ponerlo de otro color y desaparecer el subrayado del texto  puedes usar algo como esto:

.jump-link a{
color: #0c0c0c; /*color de texto*/
text-decoration: none;
}


Y que puedes agregar desde el diseñador de plantillas, usando la opción de Añadir CSS, que encuentras al final, cuando seleccionas Avanzado.


Opción 2. Personalizar el enlace de Más información con botones azules


Por otro lado, si te gusta el botón azul del formulario de contacto, esto es para ti ;) Podemos usar este estilo una y otra vez en los enlaces del blog fácilmente y agregando unas cuantas lineas de CSS. 

Siguiendo con nuestro ejemplo, agregaremos ese estilo al enlace de Mas información. Dicho enlace tendrá esta apariencia una vez que hayas hecho lo que mas a adelante te diré.

Enlace de Mas información personalizado
¿Te gusta la idea? Entonces, echa un vistazo a los siguiente pasos para ver cómo lograrlo ;)

Pasos

  1. Estando en el panel de Blogger, selecciona Plantilla,  luego haz click Editar HTML para acceder al Editor.
  2. Una vez que hayas accedido al editor, haz click en el botón que dice: Plantilla de formato, y luego, pulsa las teclas Ctrl simultáneamente.
  3. Hecho lo anterior, habrás activado el cuadro de búsqueda del editor. Ahora pega el siguiente texto en el campo: jump-link y pulsa la tecla Enter. 
  4. Una vez que te encuentres en el código en cuestiónubícate en la linea que está debajo, me refiero a la que empieza así<a href='data:post.url + ..., y agrega esto: 

    class='contact-form-button contact-form-button-submit'

    La linea que te menciono 
    deberá quedar así:

    <div class='jump-link'> 
      <a class='contact-form-button contact-form-button-submit' href='data:post.url + "#more"'title='data:post.title'> <data:post.jumpText/>
      </a> 
    </div>
    ...
  5. Verifica en vista previa y si todo luce bien, guarda los cambios.
  6. Finalmente tendrás que usar un poco de CSS para poner el texto de color blanco y evitar que se subraye el texto, para ello, seleccionas la pestaña Plantilla, luego vas a Personalizar> Avanzado> Añadir CSS y en el cuadro pegas el siguiente CSS.

    .jump-link a{
    color: #fff;
    text-decoration: none;
    }


  7. Desde ahí podrás ver el aplicado lo anterior, luego, guarda el cambio haciendo click en el botón "Aplicar al blog".

¡Y listo!, habrás personalizado el enlace de leer más agregando solo una regla de CSS en tu plantilla.

Notas Finales
  • Los botones se crean usando algunas propiedades de CSS3, que solo son soportadas por navegadores modernos, incluyendo Internet Explorer 10. En en versiones anteriores de Internet Explorer, no se verán algunos efectos, como las sombras al poner el puntero del ratón encima, y al hacer click sobre éste, en el caso de la segunda opción. 
  • Este tutorial ha sido creado para todos aquellos que usan las nueva (aunque ya no tanto) plantillas de Blogger, me refiero a las del diseñador de plantillas.
Espero sea útil, y que el tutorial sea de tu agrado. No dudes en comentarme cualquier cosa y si te gusta y crees que puede serle útil a alguien, ¡compártelo! ;)

14 junio 2013

Widget de Opciones Visible solo para el Administrador del Blog

Algo que echamos de menos muchos de los que ocultamos la barra de navegación de Blogger, es la posibilidad de ingresar al editor de entradas para empezar a escribir una nueva entrada cuando estamos en nuestro blog.

Si utilizas las vistas dinámicas de blogger, sabrás que Blogger ha integrado dos enlaces que aparecen como iconos, con los cuales es posible acceder con uno al editor de entradas, y con el otro al escritorio.

Pues vamos a hacer algo similar, para que como administrador del blog puedas ingresar tanto al editor de Blogger como al escritorio. No usaremos ninguna imagen, ya que estamos agregando los datos de éstas, usando este herramienta para convertir imágenes en base64, de ese modo no habrá que alojar ninguna imagen. El widget tendrá la apariencia esta apariencia:


Pasos


  1. Copia el siguiente código, y págalo en una nota de tu computadora.
    <span class='item-control blog-admin'> <span class="panel_adm"> <strong>Opciones del administrador</strong> <a class="escritorio" href="http://www.blogger.com/home" target="_self" title="Escritorio">Escritorio</a> <a class="post-nuevo" href="//www.blogger.com/post-edit.g?blogID=123456789&from=pencil" target="_self" title="Post Nuevo">Nuevo post</a> </span> </span>

  2. Selecciona la pestaña Diseño, y toma nota del id de tu blog, que aparece en la barra de direcciones del navegador, y que puedes identificar porque aparece después de blogID=  como puedes apreciar en la siguiente imagen:



  3. Una vez que tengas el Id de tu blog, ponlo en lugar del número que aparece resaltado de rojo (123456789) en el código del paso 1.
  4. Luego, agrega el código del paso 1 ya editado a un gadget con la opción HTML/Javascript, en la ubicación que quieras que aparezca, por ejemplo, como primer elemento en la columna lateral y guarda los cambios en Guardar disposición.
  5. Finalmente, agrega el CSS, en la opción de Añadir CSS que se encuentra en el diseñador de plantillas (Plantilla > Personalizar > Avanzado > Añadir CSS) y guarda el cambio en "Aplicar al blog".
    span.panel_adm{display:block;background:#f4f4f4;width:220px;height:75px;border:1px solid #e8e8e8}
    .panel_adm strong{font-size:15px;display:block;width:100%;border-bottom:1px solid #e8e8e8;text-indent:6px;padding:4px 0;margin-bottom:10px}a.escritorio{background-image: url(data:image/gif;base64,R0lGODlhEgARALMAALu7u6WlpcfHx46OjoODg2FhYZmZmenp6WxsbHd3d93d3VVVVdLS0rCwsPT09EpKSiH5BAAAAAAALAAAAAASABEAAARW0MkpAaA4t/da/hvXfVQojqR5opi6spI6HEdwevGJUMntACsDxXYC2BCiAqUgQgodKoJAQDgFDhPB6yWgKF6LFQOzAnxPGaZoYDgtMr0tJ5EZyDmESQQAOw==);background-repeat:no-repeat;background-position:10% 10%}
    a.post-nuevo{background-image:url(data:image/gif;base64,R0lGODlhEgAQALMAAHd3d93d3cfHx2FhYWxsbIODg46OjrCwsFVVVdLS0kpKSvT09AAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAASABAAAARCcMlJZULq1D2P+gFHJUPiIaG4XApiJuqKfUMsfy2ssp8b87nfLBgD4HyxgoBA3LUEAF3M8CHYJAEFQHNdHATd8CYCADs=);background-repeat:no-repeat;background-position:10% 12%}
    a.escritorio, a.post-nuevo {display:inline-block;height:22px;padding:4px 0 0 28px;color:#3399cc;font-size:12px}
    a.escritorio{margin-right:24px}
    a.post-nuevo:hover,a.escritorio:hover{text-decoration:underline !important;}

¡Y listo!, ya tendrás un widget que solo podrás ver tú como administrador del blog, y con el que podrás acceder al editor de entradas como al escritorio ;)

Notas finales:
  • Puedes cambiar el texto que dice: "Opciones del administrador" por "Mis opciones" o cualquier otro texto.
Espero sea útil ;)

Formulario de Contacto de Blogger Personalizado (1)

Hola, ¿qué tal? Pues seguimos con el tema del formulario de contacto que hace poco fue agregado a la lista de gadgets que Blogger ofrece y hoy traigo para compartir contigo un estilo personalizado para que puedas usar en tu blog.

Por defecto, el formulario de contacto tiene esta apariencia:



Pues haremos unos cambios para crear un formulario más compacto, como puedes ver en la imagen de abajo, con un estilo minimalista y fresco. Ideal para quienes vayan a colocarlo en una columna lateral o en una columna al fondo de la página. Te facilitaré dos opciones, la primera la conseguiremos con CSS, algunos cambios en el código del widget, y con la ayuda jQuery y un pequeño complemento (Javascript). La otra opción solo requerirá de CSS. No tendrás que editar el ancho del formulario ya que éste se adaptará al ancho del lugar donde lo coloques.

Bueno, ahora vayamos al grano y veamos cómo personalizar el formulario.


Opción 1. Usando Jquery


Si ya utilizas jQuery en tu plantilla, y las nuevas plantillas del diseñador de plantillas, esta opción puede ser conveniente para ti.

Usamos un atributo nuevo en HTML5 llamado "placeholder" con el cuál agregamos los textos de cada campo: "Nombre, Correo electrónico y Mensaje" respectivamente, luego, cuando el usuario hace click en el campo y empieza a teclear, desaparece el texto.

Dicho atributo es soportado por navegadores modernos incluyendo Internet Explorer 10. Pero no funciona en versiones antiguas de Internet Explorer, como Internet Explorer 9, es decir, no aparece el texto que se agrega como valor en el atributo, por lo tanto, será necesario usar un complemento de jQuery, mismo que en scriptiny.com  nos facilitan, para que aparezca el texto colocado en dicho atributo, el cual desaparecerá al hacer click en el campo.

La apariencia del formulario la puedes ver a continuación en la imagen:

Formulario personalizado
Nota: El tipo de fuente del título lo heredará de tu plantilla.

Y por supuesto puedes ver el widget en acción en el blog de la Demostración.

Cómo poner este estilo de formulario, paso a paso


  1. Agrega el gadget de Formulario de contacto. Esto lo haces seleccionando Diseño > Añadir gadget, después, seleccionas la pestaña "Más gadgets" y lo añades.  Puedes ponerlo al final del blog, o en la columna lateral.
  2. Selecciona la pestaña Plantilla > Personalizar > Avanzado > Añadir CSS, y ahí en el cuadro agrega este CSS:


    .contact-form-widget {
    max-width:100% !important; font-size:16px;
    }
    .completo{width:100%;margin:0; padding:0;}
    .medio, .medioa{float:left; width:49%;height:40px;margin:0; padding:0;}
    .medioa{float:right;}

    .contact-form-name, .contact-form-email{height:38px; line-height:38px;}
    .contact-form-name, .contact-form-email,textarea.contact-form-email-message{
    color:#444; max-width:100% !important;
    background-color:#f1f1f1;
    border-radius:2px;text-indent:8px;
    padding:0;border:1px solid #ddd;
    }
    textarea.contact-form-email-message{overflow:auto;margin:10px 0 0 0; padding-top:12px;outline:none !important;}
    .contact-form-email:hover, .contact-form-name:hover, textarea.contact-form-email-message:hover {border:1px solid #ddd !important; }
    .form input:focus, textarea.contact-form-email-message:focus{
    background-color:#eaeaea;
    box-shadow: inset 0 1px 2px #ccc;
    border:1px solid #cbcbcb !important;
    outline:none !important;
    }
    .contact-form-button-submit{
    width:80px;font-size:16px;height:40px;margin:9px 0 0 0; text-align:center;
    border-radius: 2px;font-weight:bold;cursor:pointer}

    .derecha{text-align:center}
    ::-webkit-input-placeholder {color: #6c6c6c;
    }
    :-moz-placeholder {
    color: #6c6c6c;
    }
    ::-moz-placeholder {
    color: #6c6c6c;
    }
    :-ms-input-placeholder {
    color: #6c6c6c;
    }

  3. Desde el panel de Blogger, selecciona la pestaña "Plantilla", luego vas a "Editar HTML", y después selecciona el widget: "ContactForm1" de la lista desplegable de widgets que dice: "Ir al widget"
    Lista de widgets

  4. Una vez que el editor te envíe al código del widget del formulario de contacto, selecciónalo con el mouse, lo eliminas y en su lugar pones el código que a continuación te facilito:

    <b:widget id='ContactForm1' locked='false' title='Envíame un mensaje' type='ContactForm'>
                  <b:includable id='main'>
                   
                    <b:if cond='data:title != &quot;&quot;'>
                      <h2 class='title'>
                        <data:title/>
                      </h2>
                    </b:if>
                    <div class='contact-form-widget'>
                      <div class='form'>
                        <form name='contact-form'>
                          <!-- data:contactFormNameMsg/-->
                          <div class='completo'>
                            <div class='medio'>
                              <input class='contact-form-name' expr:id='data:widget.instanceId + &quot;_contact-form-name&quot;' name='name' placeholder='Nombre' rows='30' type='text' value=''/>
                              <!--data:contactFormEmailMsg/-->
                            </div>
                            <div class='medioa'>
                              <input class='contact-form-email' expr:id='data:widget.instanceId + &quot;_contact-form-email&quot;' name='email' placeholder='Correo Electrónico' rows='30' type='text' value=''/>
                              <!-- data:contactFormMessageMsg/ -->
                            </div>
                          </div>
                          <textarea class='contact-form-email-message' cols='25' expr:id='data:widget.instanceId + &quot;_contact-form-email-message&quot;' name='email-message' placeholder='Mensaje' rows='8'>
                          </textarea>
                          <div class='derecha'>
                            <input class='contact-form-button contact-form-button-submit' expr:id='data:widget.instanceId + &quot;_contact-form-submit&quot;' expr:value='data:contactFormSendMsg' type='button'/>
                           
                          </div>
                          <p/>
                          <div style='text-align: center; max-width: 222px; width: 100%; margin-top:5px;'>
                            <p class='contact-form-error-message' expr:id='data:widget.instanceId + &quot;_contact-form-error-message&quot;'/>
                            <p class='contact-form-success-message' expr:id='data:widget.instanceId + &quot;_contact-form-success-message&quot;'/>
                          </div>
                        </form>
                      </div>
                    </div>
                    <b:include name='quickedit'/>
                  </b:includable>
                </b:widget>
    
    


    Asegúrate de eliminar el código del widget completo, en ocasiones se despliega al seleccionarlo. La clave está en ver que el código seleccionado contenga la parte que he resaltado de rojo, a continuación:
    <b:widget id="ContactForm1" locked="false" title="Envíame un mensaje" type="ContactForm">...</b:widget>
  5. Luego, también estando en el editor, busca el script que contiene jQuery, que en tu plantilla se va a ver mas o menos así<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js' type='text/javascript'/> con la posible diferencia de que tengas otra versión y que en el código anterior he resaltado de rojo (versión 1.8.1). Una vez localizado el script con jQuery, pega inmediatamente después lo siguiente: 
    <script type='text/javascript'>
          //<![CDATA[
         $(document).ready(function(){if(!("placeholder"in document.createElement("input"))){$("input[placeholder], textarea[placeholder]").each(function(){var val=$(this).attr("placeholder");if(this.value==""){this.value=val}$(this).focus(function(){if(this.value==val){this.value=""}}).blur(function(){if($.trim(this.value)==""){this.value=val}})});$('form').submit(function(){$(this).find("input[placeholder], textarea[placeholder]").each(function(){if(this.value==$(this).attr("placeholder")){this.value=""}})})}});
          //]]>
        </script>


  6. Verifica en vista previa y si todo luce bien guarda los cambios en "Guardar plantilla".
¡Y listo!, ya habrás personalizado el formulario de contacto de Blogger.

Opción 2. Sin usar jQuery


Si no usas jQuery en tu plantilla, puede ser que usarlo solo para conseguir que el texto aparezca dentro de los campos en navegadores que no soporten el atributo placeholder, no sea la mejor opción para ti.

En tal caso, puedes usar el código CSS que facilito en el paso 2, y estarías personalizando los campos como el elemento textarea (el cuadro donde va el mensaje) . Ten en cuenta que tanto el campo para el nombre como el del correo electrónico no aparecerán uno al lado del otro.

También necesitarás eliminar algunas lineas de CSS que resalté de azul (del paso 2).


Posibles preguntas frecuentes



1. Me gustaría que el botón de enviar apareciera a la izquierda, ¿cómo lo hago?
Respuesta: Busca esta linea de CSS del código que facilito en el paso 2:
.derecha{text-align:center;}
Y cambia:
center por left.

2. Me gustaría que aparecieran los asteriscos en los texts de "Correo electrónico" y en "Mensaje", (que son los campos obligatorios) tal y como aparece en el formulario de contacto por defecto. ¿Cómo lo hago?
Respuesta: Identifica esos textos y que resalté de rojo en el código del paso 4 y agrega el asterisco inmediatamente después de cada texto respectivamente.

Referencias adicionales
Personalizar el Texto de "Placeholder"


16 mayo 2013

Formulario de Contacto de Blogger en una Página Estática del Blog

Pues ya tenemos juguetito nuevo, me refiero al formulario de contacto que tantos usuarios echaban de menos en Blogger, y ahora, las dudas e inquietudes surgen, pues al ser un widget, el código que viene en la plantilla no se puede incrustar en una página estática tal y como aparece.

La buena noticia es que, con algunos trucos o chapuzas,  podemos hacer que el formulario de contacto aparezca en una página estática.

Básicamente, este truco que te mostraré, consiste en condicionar el formulario de contacto para que se muestre en una página estática que crearemos para este propósito. De ese modo, el formulario se cargará y aparecerá en dicha página. Veamos entonces cómo hacerlo.

Antes de comenzar con ésto, te recomiendo guardar una copia de respaldo de tu plantilla,  y para ello, vas a la pestaña Plantilla, y haces click en el botón que dice: "Crear/Restablecer copia de seguridad" y descargas la plantilla completa.

Cómo lograrlo paso a paso


  1. Crea una página, yendo a la pestaña Páginas, luego, en la lista desplegable que dice Página nueva, seleccionas Página en blanco, y ahí agregas el texto que desees que aparezca arriba del formulario.
  2. Una vez que hayas creado la página, haz click en la opción "Ver" para que accedas a la página, y copia la URL de ésta, que aparece en la barra de direcciones.
    Ver pagina
  3. Copia el siguiente código, y edita lo que resalté de rojo. Donde dice 350px, es el ancho máximo del formulario, edítalo poniendo el mismo valor, en las dos veces que aparece. En font-size:16px, puedes cambiar el tamaño del texto.

    <b:widget id='ContactForm1' locked='false' title='' type='ContactForm'>
    <b:includable id='main'>
    <b:if cond='data:blog.url == &quot;URL_DE_LA_PAGINA_ESTATICA&quot;'>
    <style type="text/css">
    .contact-form-widget {
    max-width:350px; font-size:16px;
    }
    .contact-form-name, .contact-form-email, .contact-form-email-message {
    max-width:350px;
    }
    .post-footer{
    display:none;
    }
    .home-link{
    display:none;
    }
    .feed-links {
    display:none;
    }
    </style>
    <!-- b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'>
    <data:title/>
    </h2>
    </b:if -->

    <div class='contact-form-widget'>
    <div class='form'>
    <form name='contact-form'>
    <p/>
    <data:contactFormNameMsg/>
    <br/>
    <input class='contact-form-name' expr:id='data:widget.instanceId + &quot;_contact-form-name&quot;' name='name' size='30' type='text' value=''/>
    <p/>
    <data:contactFormEmailMsg/>
    <span style='font-weight: bolder;'>
    *
    </span>
    <br/>
    <input class='contact-form-email' expr:id='data:widget.instanceId + &quot;_contact-form-email&quot;' name='email' size='30' type='text' value=''/>
    <p/>
    <data:contactFormMessageMsg/>
    <span style='font-weight: bolder;'>
    *
    </span>
    <br/>
    <textarea class='contact-form-email-message' cols='25' expr:id='data:widget.instanceId + &quot;_contact-form-email-message&quot;' name='email-message' rows='5'/>
    <p/>
    <input class='contact-form-button contact-form-button-submit' expr:id='data:widget.instanceId + &quot;_contact-form-submit&quot;' expr:value='data:contactFormSendMsg' type='button'/>
    <p/>
    <div style='text-align: center; max-width: 222px; width: 100%'>
    <p class='contact-form-error-message' expr:id='data:widget.instanceId + &quot;_contact-form-error-message&quot;'/>
    <p class='contact-form-success-message' expr:id='data:widget.instanceId + &quot;_contact-form-success-message&quot;'/>
    </div>
    </form>
    </div>
    </div>
    <b:include name='quickedit'/>
    </b:if>
    </b:includable>
    </b:widget>


  4. Luego, vas a la pestaña Plantilla, después a Editar HTML y en la lista desplegable "Ir al widget", selecciona "Blog1", para que te lleve al código del widget de las entradas. Ahí ubícate antes de </b:section> tal y como puedes ver en la imagen.
    Editor HTML
  5. Ya que estés ubicad@ exactamente "antes" de dicha linea, pega el código del paso 3, mismo que ya editaste.
  6. Verifica en vista previa y si todo luce bien, guarda los cambios.

¡Y listo!, ahora el widget con el formulario de contacto aparecerá en una página estática de tu blog. ;)

Puedes ver la demostración en esta página estática.

Otra truco para lograr esto, ya se ha publicado en Oloblogger.

Notas finales
  • El código que resalte de azul en el paso 3 es el que hace que aparezca el titulo del formulario. Puedes eliminarlo, si es que no tienes ninguna intención de que aparezca, ya que, la pagina estática mostrará el tátulo. Ahora está comentado, por eso no se interpreta por el navegador.


Última actualización:
00/00/00.