Cambiar de estilos al Archivo del blog Widget para Blogger

Cómo Instalar un Widget de Archivo Calendario Moderno en Blogger

Estaba buscando más tutoriales para uso exclusivo en Blogger?, pues hoy voy a compartir un interesante tutorial para que puedan utilizarlo en su blog de Blogger. Lo que vamos hacer es cambiar nuestro widget de Archivo del Blog por un avanzado y moderno widget de Archivo Calendario. El script de hoja de estilos nos permitirá crear un gadget totalmente personalizado. La instalación de este widget es muy fácil así que no tendrá complicación alguna, solo siga mis instrucciones y podrá tener su Archivo Calendario en su blog de Blogger.

¿Quieres reemplazar el clásico widget de "Archivo del Blog" por un calendario interactivo y moderno en tu blog de Blogger? ¡Sigue este sencillo tutorial paso a paso!

📌 Nota importante

  1. Antes de empezar este tutorial, se recomienda realizar una copia de seguridad de su blog de Blogger, o primero practicar en un blog de ejemplos. Si no sabe cómo realizar una copia de seguridad de su blog, puede seguir las instrucciones del siguiente enlace:
  2. Este tutorial es compatible con la mayoría de plantillas de Blogger.
Realizar una copia de seguridad de mi blog de Blogger

Ayudadeblogger.com no se responsabiliza, si no realizo correctamente la inserción del código, para más detalles específicos, puede visitar el siguiente enlace:

Puede ver su funcionamiento al final de la barra lateral de este blog

📝 Pasos para Instalar el Widget de Archivo Calendario

1. Accede al Panel de Blogger

- Inicia sesión en Blogger.
- Selecciona tu blog.

2. Ve a "Diseño"

- En el menú lateral, haz clic en "Diseño".

3. Agrega un Gadget

- Haz clic en "Agregar un gadget" en la sección donde quieras colocar el calendario (barra lateral, pie de página, etc.).

4. Busca y Selecciona "Archivo del Blog"

- En la lista de gadgets, busca "Archivo del Blog".
- Haz clic en el botón "+" para agregarlo.

5. Edita el Código HTML del Widget

- Ve a "Tema" en el menú lateral.
- Haz clic en "Editar HTML".
- En la parte superior derecha, haz clic en el icono "Ir al widget".
- Busca el widget llamado "BlogArchive1".

6. Reemplaza el Código Existente

- Elimina todo el código del widget.

- Pega el siguiente código en su lugar:

<b:widget id='BlogArchive1' locked='false' title='Archivo del Blog' type='BlogArchive' version='1'>
            <b:widget-settings>
              <b:widget-setting name='showStyle'>FLAT</b:widget-setting>
              <b:widget-setting name='yearPattern'>yyyy</b:widget-setting>
              <b:widget-setting name='showWeekEnd'>true</b:widget-setting>
              <b:widget-setting name='monthPattern'>MMMM</b:widget-setting>
              <b:widget-setting name='dayPattern'>MMM dd</b:widget-setting>
              <b:widget-setting name='weekPattern'>MM/dd</b:widget-setting>
              <b:widget-setting name='chronological'>false</b:widget-setting>
              <b:widget-setting name='showPosts'>false</b:widget-setting>
              <b:widget-setting name='frequency'>MONTHLY</b:widget-setting>
            </b:widget-settings>
            <b:includable id='main'>
    <b:if cond='data:title != &quot;&quot;'>
      <h2><data:title/></h2>
    </b:if>
    <div class='widget-content'>
      <div id='archive-calendar-container'>
        <div id='archive-calendar-header'>
          <button id='archive-calendar-prev'>&lt;</button>
          <select id='archive-calendar-month-year'/>
          <button id='archive-calendar-next'>&gt;</button>
        </div>
        <table id='archive-calendar'>
          <thead>
            <tr>
              <th>Do</th>
              <th>Lu</th>
              <th>Ma</th>
              <th>Mi</th>
              <th>Ju</th>
              <th>Vi</th>
              <th>Sa</th>
            </tr>
          </thead>
          <tbody>
            <!-- Los días del calendario se generarán aquí -->
          </tbody>
        </table>
        <div id='archive-calendar-loader' style='display:none;'>Cargando...</div>
      </div>
      <div id='ArchiveList' style='display:none;'>
        <b:include cond='data:style == &quot;FLAT&quot;' data='data' name='flat'/>
      </div>
    </div>
  </b:includable>
            <b:includable id='flat' var='data'>
    <ul class='flat'>
      <b:loop values='data:data' var='i'>
        <li class='archivedate'>
          <a expr:data-post-count='data:i.post-count' expr:href='data:i.url'><data:i.name/></a>
        </li>
      </b:loop>
    </ul>
    <style>
/* Modern Blogger Archive Calendar by Ayudadeblogger.com */
:root {
  --calendar-primary-color: #007bff;
  --calendar-secondary-color: #ffffff;
  --calendar-header-bg: #f8f9fa;
  --calendar-border-color: #dee2e6;
  --calendar-day-hover-bg: #e9ecef;
  --calendar-active-day-bg: #007bff;
  --calendar-active-day-color: #ffffff;
  --calendar-text-color: #212529;
}

#archive-calendar-container {
  font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, &quot;Helvetica Neue&quot;, Arial, sans-serif;
  border: 1px solid var(--calendar-border-color);
  border-radius: 8px;
  overflow: hidden;
}

#archive-calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background-color: var(--calendar-header-bg);
  border-bottom: 1px solid var(--calendar-border-color);
}

#archive-calendar-header select,
#archive-calendar-header button {
  background-color: transparent;
  border: 1px solid var(--calendar-border-color);
  border-radius: 5px;
  padding: 5px 10px;
  cursor: pointer;
  font-size: 14px;
  color: var(--calendar-text-color);
  transition: background-color 0.2s, color 0.2s;
}

#archive-calendar-header button:hover {
  background-color: var(--calendar-primary-color);
  color: var(--calendar-secondary-color);
}

#archive-calendar-month-year {
  flex-grow: 1;
  text-align: center;
  border: none;
  font-weight: bold;
  font-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none;
}

#archive-calendar {
  width: 100%;
  border-collapse: collapse;
}

#archive-calendar th {
  padding: 10px;
  text-align: center;
  font-size: 12px;
  font-weight: normal;
  color: #6c757d;
}

#archive-calendar td {
  text-align: center;
  padding: 2px;
  border: 1px solid var(--calendar-border-color);
  height: 35px;
  font-size: 14px;
}

#archive-calendar td.calendar-day {
  cursor: default;
}

#archive-calendar td.calendar-day:hover {
  background-color: var(--calendar-day-hover-bg);
}

#archive-calendar td.has-posts {
  background-color: var(--calendar-active-day-bg);
  cursor: pointer;
}

#archive-calendar td.has-posts a {
  color: var(--calendar-active-day-color);
  text-decoration: none;
  display: block;
  width: 100%;
  height: 100%;
  line-height: 35px;
  border-radius: 4px;
  transition: background-color 0.2s;
}

#archive-calendar td.has-posts:hover a {
  background-color: rgba(255, 255, 255, 0.2);
}

#archive-calendar td.not-in-month {
  color: #adb5bd;
  background-color: #f8f9fa;
}

#archive-calendar-loader {
  text-align: center;
  padding: 20px;
  font-size: 14px;
  color: #6c757d;
}
</style>
    <script>
// Modern Blogger Archive Calendar Script by Ayudadeblogger.com 
document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
    const archiveList = document.querySelector(&#39;#ArchiveList ul.flat&#39;);
    if (!archiveList) {
        console.warn(&#39;Blogger Archive list not found. Calendar cannot be initialized.&#39;);
        const container = document.getElementById(&#39;archive-calendar-container&#39;);
        if(container) container.style.display = &#39;none&#39;;
        return;
    }

    const monthSelect = document.getElementById(&#39;archive-calendar-month-year&#39;);
    const prevButton = document.getElementById(&#39;archive-calendar-prev&#39;);
    const nextButton = document.getElementById(&#39;archive-calendar-next&#39;);
    const calendarBody = document.querySelector(&#39;#archive-calendar tbody&#39;);
    const loader = document.getElementById(&#39;archive-calendar-loader&#39;);
    
    let archiveData = [];
    const monthNames = [&quot;Enero&quot;, &quot;Febrero&quot;, &quot;Marzo&quot;, &quot;Abril&quot;, &quot;Mayo&quot;, &quot;Junio&quot;, &quot;Julio&quot;, &quot;Agosto&quot;, &quot;Septiembre&quot;, &quot;Octubre&quot;, &quot;Noviembre&quot;, &quot;Diciembre&quot;];

    // 1. Parse existing archive links to build data structure
    function parseArchiveLinks() {
        const links = archiveList.querySelectorAll(&#39;li.archivedate a&#39;);
        links.forEach(link =&gt; {
            const url = new URL(link.href);
            const pathParts = url.pathname.split(&#39;/&#39;).filter(p =&gt; p);
            if(pathParts.length &gt;= 2) {
                const year = parseInt(pathParts[0], 10);
                const month = parseInt(pathParts[1], 10) - 1; // JS months are 0-indexed
                 if(!isNaN(year) &amp;&amp; !isNaN(month)){
                     archiveData.push({
                        year: year,
                        month: month,
                        url: link.href,
                        name: link.textContent
                    });
                 }
            }
        });

        // Populate the select dropdown
        archiveData.forEach((item, index) =&gt; {
            const option = document.createElement(&#39;option&#39;);
            option.value = index;
            option.textContent = `${monthNames[item.month]} ${item.year}`;
            monthSelect.appendChild(option);
        });
        
        // Load the most recent month by default
        if (archiveData.length &gt; 0) {
            loadMonth(0);
        }
    }

    // 2. Function to load data and build the calendar for a given month index
    async function loadMonth(index) {
        if (index &lt; 0 || index &gt;= archiveData.length) return;
        
        monthSelect.value = index;
        calendarBody.innerHTML = &#39;&#39;;
        loader.style.display = &#39;block&#39;;

        const selectedMonthData = archiveData[index];
        const { year, month } = selectedMonthData;

        try {
            // Fetch the posts for the selected month archive page
            const response = await fetch(selectedMonthData.url);
            const text = await response.text();
            const parser = new DOMParser();
            const doc = parser.parseFromString(text, &#39;text/html&#39;);

            const postDates = new Set();
            // Look for a common post date element. This might need adjustment based on the theme.
            const dateElements = doc.querySelectorAll(&#39;.post-date, .published, .date-header span, time[datetime]&#39;);
            dateElements.forEach(el =&gt; {
                 const dateString = el.getAttribute(&#39;datetime&#39;) || el.textContent;
                 const postDate = new Date(dateString);
                 if (postDate.getFullYear() === year &amp;&amp; postDate.getMonth() === month) {
                     postDates.add(postDate.getDate());
                 }
            });

            buildCalendar(year, month, postDates, selectedMonthData.url);

        } catch (error) {
            console.error(&#39;Error fetching or parsing archive page:&#39;, error);
            calendarBody.innerHTML = &#39;&lt;tr&gt;&lt;td colspan=&quot;7&quot;&gt;Error al cargar las publicaciones.&lt;/td&gt;&lt;/tr&gt;&#39;;
        } finally {
            loader.style.display = &#39;none&#39;;
        }
    }
    
    // 3. Function to build the calendar HTML
    function buildCalendar(year, month, postDates, archiveUrl) {
        calendarBody.innerHTML = &#39;&#39;; // Clear previous content
        const firstDay = new Date(year, month, 1).getDay();
        const daysInMonth = new Date(year, month + 1, 0).getDate();

        let date = 1;
        for (let i = 0; i &lt; 6; i++) { // Max 6 rows
            const row = document.createElement(&#39;tr&#39;);
            for (let j = 0; j &lt; 7; j++) {
                const cell = document.createElement(&#39;td&#39;);
                if (i === 0 &amp;&amp; j &lt; firstDay) {
                    cell.classList.add(&#39;not-in-month&#39;);
                } else if (date &gt; daysInMonth) {
                    break;
                } else {
                    cell.textContent = date;
                    cell.classList.add(&#39;calendar-day&#39;);
                    if (postDates.has(date)) {
                        cell.classList.add(&#39;has-posts&#39;);
                        const dayLink = document.createElement(&#39;a&#39;);
                        
                        // Construct the search URL for that specific day
                        const dayString = date &lt; 10 ? &#39;0&#39; + date : date;
                        const monthString = (month + 1) &lt; 10 ? &#39;0&#39; + (month + 1) : (month + 1);
                        const nextDay = new Date(year, month, date + 1);
                        const nextDayString = nextDay.getDate() &lt; 10 ? &#39;0&#39; + nextDay.getDate() : nextDay.getDate();
                        const nextMonthString = (nextDay.getMonth() + 1) &lt; 10 ? &#39;0&#39; + (nextDay.getMonth() + 1) : (nextDay.getMonth() + 1);
                        const nextYearString = nextDay.getFullYear();

                        // THE FIX IS HERE:  is replaced with &amp;
                        dayLink.href = `/search?updated-min=${year}-${monthString}-${dayString}T00:00:00-00:00&amp;updated-max=${nextYearString}-${nextMonthString}-${nextDayString}T00:00:00-00:00`;
                        dayLink.title = `Ver publicaciones del ${date}/${month + 1}/${year}`;
                        dayLink.textContent = date;
                        cell.textContent = &#39;&#39;;
                        cell.appendChild(dayLink);
                    }
                    date++;
                }
                row.appendChild(cell);
            }
            calendarBody.appendChild(row);
            if (date &gt; daysInMonth) {
                break;
            }
        }
    }

    // 4. Event Listeners
    monthSelect.addEventListener(&#39;change&#39;, (e) =&gt; {
        loadMonth(parseInt(e.target.value, 10));
    });

    prevButton.addEventListener(&#39;click&#39;, () =&gt; {
        const currentIndex = parseInt(monthSelect.value, 10);
        if (currentIndex + 1 &lt; archiveData.length) {
            loadMonth(currentIndex + 1);
        }
    });

    nextButton.addEventListener(&#39;click&#39;, () =&gt; {
        const currentIndex = parseInt(monthSelect.value, 10);
        if (currentIndex - 1 &gt;= 0) {
            loadMonth(currentIndex - 1);
        }
    });

    // Start the process
    parseArchiveLinks();
});
</script>
  </b:includable>
            <b:includable id='interval' var='intervalData'>
  <b:loop values='data:intervalData' var='interval'>
    <ul class='hierarchy'>
      <li expr:class='&quot;archivedate &quot; + data:interval.expclass'>
        <b:include cond='data:interval.toggleId' data='interval' name='toggle'/>
        <a class='post-count-link' expr:href='data:interval.url'>
          <data:interval.name/>
        </a>
        <span class='post-count' dir='ltr'>(<data:interval.post-count/>)</span>
        <b:include cond='data:interval.data' data='interval.data' name='interval'/>
        <b:include cond='data:interval.posts' data='interval.posts' name='posts'/>
      </li>
    </ul>
  </b:loop>
</b:includable>
            <b:includable id='menu' var='data'>
  <select expr:id='data:widget.instanceId + &quot;_ArchiveMenu&quot;'>
    <option value=''><data:title/></option>
    <b:loop values='data:data' var='i'>
      <option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option>
    </b:loop>
  </select>
</b:includable>
            <b:includable id='posts' var='posts'>
  <ul class='posts'>
    <b:loop values='data:posts' var='post'>
      <li><a expr:href='data:post.url'><data:post.title/></a></li>
    </b:loop>
  </ul>
</b:includable>
            <b:includable id='toggle' var='interval'>
  <a class='toggle' href='javascript:void(0)'>
    <span expr:class='&quot;zippy&quot; + (data:interval.expclass == &quot;expanded&quot; ? &quot; toggle-open&quot; : &quot;&quot;)'>
      <b:if cond='data:interval.expclass == &quot;expanded&quot;'>
        &#9660;&#160;
      <b:elseif cond='data:blog.languageDirection == &quot;rtl&quot;'/>
        &#9668;&#160;
      <b:else/>
        &#9658;&#160;
      </b:if>
    </span>
  </a>
</b:includable>
          </b:widget>

7. Guarda los Cambios

- Haz clic en "Guardar".

8. ¡Listo!

- Revisa tu blog para ver el nuevo Archivo Calendario Moderno en acción.

🔍 Personalización Opcional

Si deseas cambiar los colores o el estilo del calendario, modifica las variables CSS dentro del código:

:root {
  --calendar-primary-color: #007bff; /* Color principal (azul) */
  --calendar-secondary-color: #ffffff; /* Color de texto */
  --calendar-header-bg: #f8f9fa; /* Fondo del encabezado */
}

❓ Preguntas Frecuentes

❓ ¿Qué pasa si no veo el calendario?

- Verifica que hayas seguido todos los pasos correctamente.
- Asegúrate de que tu plantilla no tenga conflictos con el código.

❓ ¿Puedo cambiar el idioma del calendario?

- Sí, modifica los nombres de los meses en el código (monthNames).

💡 Conclusión

Ahora tienes un calendario de archivos moderno y funcional en tu blog de Blogger. Si necesitas ayuda, déjanos un comentario.

👉 ¿Te gustó el tutorial? ¡Compártelo con otros blogueros! 🚀

Nota: este tutorial fue actualizado completemante.

Créditos: AyudadeBlogger.com

Recuerda suscribirte:

Obtenga nuestro boletín de noticias diario | Suscríbete gratuitamente SUSCRIBIRSE
¿Te ha resultado útil este artículo, recomiendanos?
Si



Share:

Luis Chávez

Soy el fundador del sitio web Ayudadeblogger.com - Considerado un Pro Blogger profesional, Consultor SEO y desarrollador Web adicto, ejecuto una serie de sitios web desde mi Oficina Quito-Ecuador.

Related post

Comentarios

43 comentarios:

  1. Si es en el paso 11, debes buscar ste codigo:
    ]]>
    Presiona Control mas la tecla F para que puedas buscarlo ya que blogger cambio su nuevo editor de html ahora es muy difierente,
    Saludos.

    ResponderEliminar
  2. Saludos, estaba buscando el < /head > pero el unico que veo es el < /thead > te refieres a ese?

    ResponderEliminar
    Respuestas
    1. Hola, en tu blog de blogger de ley tienes el < /head>, presiona la tecla Control seguido de la tecla F, con eso se te abrira el buscador integrado de tu editor html, y busca este codigo < /head>, espero lo puedas hacer o si no enviame otro mensaje para ayudarte directamente.
      Saludos.

      Eliminar
  3. Buenos días Luis, ante todo gracias por la gran ayuda que supone encontrar tutoriales tan bien explicados.

    Tengo dos blogs, en uno tengo este formato de calendario funcionando desde hace algunos años, pero en el segundo por más que lo intento soy incapaz de hacerlo funcionar.

    Mi problema es que aparece el calendario pero totalmente vacío, es decir, sin la numeración de los días del mes en las casillas.

    Hay alguna forma de solucionarlo??

    Gracias de antemano por tu ayuda.

    ResponderEliminar
    Respuestas
    1. Hola enviame la direccion de tu blog, para poder ver donde esta el error.
      Saludos.

      Eliminar
    2. Por favor, a ver si publicas la ayuda de Mercedes porque yo tengo el mismo problema, no me aparecen los números, sólo el calendario. Gracias

      Eliminar
    3. Hola, el tutorial funciona perfectamente, siguelo tal como esta y veras que te funciona.
      Saluods.

      Eliminar
  4. Buenos días Luis:

    Ante todo perdona por no haber pasado antes pero no guardé la página y me ha costado un poquito volver a encontrarte.

    Te he enviado un e-mail a gmail

    Gracias!!!

    ResponderEliminar
    Respuestas
    1. Hola no me ha llagado ningun email: este es la direccion de mi correo: ayudadeblogger@gmail.com
      Saludos.

      Eliminar
    2. OK... Te repito ahora mismo el envío!!

      Eliminar
  5. ¿Si quiero quitar el domingo como primer dia y poner el lunes como tengo que hacer? (pero que las noticias coincida en el dia y ademas que los dias de las semana esten bien, yo he cambiado el codigo y lo he conseguido, sin embargo al llegar a diciembre, los dias del calendario no me coincidian)

    ResponderEliminar
    Respuestas
    1. Hola, con respecto a tu pregunta, el archivo del blog probiene directamente de la plantilla original del gadget de blogger, no s posible realizarlo, por el momento, ya que se te desacomada las fechas..
      Saludos

      Eliminar
  6. excelente luiz chavez me funciono perfectamente

    ResponderEliminar
  7. Disculpa pero el calendario me funciona perfecto, sin embargo... aparecen todas las entradas!!! hasta las que aún no he publicado :S como hago para que no aparescan esas? es que por falta de tiempo, siempre hago mis entradas con anterioridad y las dejo guardadas, pero esas aparecen en el calendario, al clickear en ellas me mandan a que esa pagina no existe, no me gusta...

    ResponderEliminar
  8. Saludos luis, es exactamente lo que estaba buscando pero nome funciona en mi blog: http://www.diocesisdesanfernando.org Sigo todos los pasos y no se guarda la plantilla: aparece el siguiente mensaje: Se ha producido un error al analizar el XML, línea 3824, columna 6: The element type "b:section" must be terminated by the matching end-tag "". Espero me puedas ayudar, mil gracias de antemano.

    ResponderEliminar
  9. Interesante y lo he visto en otros blogs y se ve muy lindo y funcional pero ¿Cómo se hace si
    ""
    o "BlogArchive1" no estan en la plantilla?

    ResponderEliminar
  10. Excelente amigo pero como modifico el ancho y la altura?

    ResponderEliminar
  11. Chaval, quiero ordenar mi blog por escritores y sus escritos en esa jerarquia que es A - TEMPORAL. Hay alguna forma de hacerlo ?

    ResponderEliminar
  12. Hola Luis gracias por tu aporte.
    Aun no he instalado el calendario, ya que estube mirando el demo que colocaste para ver como funciona, pero me di cuenta que solo marca la casilla del dia en azul y en efecto al dar click alli sale los archivos del ese dia.
    Pero quice mirar otros dias como es logico deberia funcionar y no pasa nada, doy click sobre otro dia y no pasa nada, no deberia funcionar que al darle uno click sobre cualquier dia te lleve a los archivos del dia correspondiente? incluso el mes correspondiente?

    Gracias, me gustaria implementar ese widget en mi blog

    ResponderEliminar
    Respuestas
    1. Hola Walberto, sobre su pregunta: Este archivo calendario de Blogger marca la casilla del día en azul, pero si usted no ha publicado ningún articulo por ejemplo el día 12 de Agosto, no lo marcara en azul y si usted da clic en ese día que no ha publicado no se mostrara ningún resultado, es por eso que usted como administrador de su blog deberá agregar todos los días por lo menos una publicación. Saludos.

      Eliminar
    2. Luis, muchas gracias por responder y estar pendiente, necesitaba esa respuesta, pues soy nuevo en esto y estoy diseñando mi blog y quiero dejarlo elegante.
      Bendiciones amigo y sigue avanzando

      Eliminar
    3. Luis aprovecho para hacerte una nueva consulta, como hago para mover la caja de busqueda (Search) a la barra de menu de la cabecera? es decir, incrustar en la barra de Menu de la cabecera del blog la caja de busqueda.

      Eliminar
  13. Luis, lo hice todo tal cual como nos indicas en esta entrada, pero no se ve el cambio en mi blog, que podrá estar mal? chequea mi blog de ganaconwally.blogspot por favor
    Exitos

    ResponderEliminar
    Respuestas
    1. Hola, he visto su blog y veo que no ha realizado todos los cambios, he actualizado el tutorial de este post y he explicado un poco mas claro con imágenes, por favor vuelva a seguir las instrucciones tal como lo muestro en este tutorial. Saludos.

      Eliminar
    2. Hola, he visto su blog y veo que no ha realizado todos los cambios, he actualizado el tutorial de este post y he explicado un poco mas claro con imágenes, por favor vuelva a seguir las instrucciones tal como lo muestro en este tutorial. Saludos.

      Eliminar
    3. Ya actualice amigo, gracias por este widget, solo tube que hacer el punto 9 de este post, pues ya con anterioridad habia hecho el resto, solo me queda cambiar el color de fondo al pasar el mouse sobre los dias con post.
      Gracias excelente.

      Eliminar
    4. Hola, me da gusto saber que pudo realizar con éxito este tutorial, Saludos.

      Eliminar
  14. Luis, buenos dias, que pena insistir varias veces en el asunto.
    Como te dije en el comentario anterior, todo ok.
    Pero estoy en proceso de cambiar mi plantilla actual por una responsive, en el proceso, probe una de las plantillas q escogi, y como no me gusto, volvi a la plantilla anterior, y como resultado, el gadget de archivos se daño, no se presentaba igual y menos hacia su funcion, borre todos los codigo, borre el gadgte, y volvi a hacerlo desde cero, pero el resultado fue el mismo: gadget dañado y sin funcion.
    Nota: previamente habia hecho una copia se seguridad de la plantilla original.
    ¿Se puede remediar esto?
    Gracias

    ResponderEliminar
    Respuestas
    1. Hola, si usted tiene una copia de respaldo de su plantilla, subalo para que vuelva al estado que tenia antes, y así remediar el error que cometió, Saludos.

      Eliminar
  15. Muchas gracias por el código. Funciona perfectamente.

    ResponderEliminar
  16. ¿Qué puedo hacer para que me salgan marcados solo los días con publicaciones de determinada etiqueta?

    ResponderEliminar
    Respuestas
    1. Hola Ana, muy buena su pregunta, se la tendrá en cuenta para futuras publicaciones, al momento de ingresar dicho código que se encuentra en este tutorial, se le mostrara lo especificado en este post.

      Saludos.

      Eliminar
  17. Buenos días Luis, ante todo reitero que es una gran ayuda encontrar tutoriales tan bien explicados como los tuyos.

    Pero me está pasando exactamente lo mismo que a "Mercedes", también he usado este widget en dos blogs, para ser exactos, he usado la misma plantilla "Live Style Material Design Blogger" que contiene este widget en dos blogs. Sin embargo, en el primer blog no me dio ningún problema, pero en el segundo blog que acabo de hacer, repitiendo los mismos pasos, no consigo que funcione este formato de calendario.

    Y el problema es el mismo que le sucede a "Mercedes", que aparece el calendario pero totalmente vacío, es decir, sin la numeración de los días del mes en las casillas.

    Hay alguna forma de solucionarlo??

    Gracias de antemano por tu ayuda.

    ResponderEliminar
    Respuestas
    1. Hola Eva, gracias por escribir, con respecto a su pregunta, por favor hágame saber la dirección URL de su blog el cual contiene el archivo calendario,

      Quedo atento a su respuesta

      Saludos.

      Eliminar
  18. Gracias Luis, acabo de encontrar cual era el problema.
    Resulta que mientras que el blog está en modo "privado", aparece el calendario pero totalmente vacío, sin la numeración de los días del mes en las casillas. Pero en modo "público" se visualiza todo perfectamente. Por lo visto, si las entradas no son públicas, el calendario opta por invisibilizarse, en el fondo tiene su lógica, jejeje
    Gracias

    ResponderEliminar
    Respuestas
    1. Hola Eva, es bueno saber cual fue su inconveniente y ahora que ya lo sabe siga adelante con su blog.

      Saludos.

      Eliminar
  19. Hola Luis,
    Hace un año y algo mas, instale este widget y me funciono maravilloso hasta la fecha, pues, desde hoy(al menos hoy me di cuenta) el calendario no tiene la apariencia ni la función original. Tengo esta pagina guardada e hice nuevamente la instalación paso a paso pero no hubo cambios. La verdad te agradecería si puedes ayudarme, ya que no quiero cambiar este bello widget. mi url es: ganaconwally.com
    Bendiciones y gracias.

    ResponderEliminar
    Respuestas
    1. Hola Walberto, gracias por escribir y notificar el inconveniente, he revisado el código y al parecer hubo unos cambios en Blogger y por ello se presenta este inconveniente en este tutorial, ahora, solo tenga un poco de paciencia mientras se verifica la actualiacion del código y así pueda realizar nuevamente este tutorial, le estaré notificando cuando se haya modificado el código.

      Saludos.

      Eliminar
  20. Hola Luis, creo que me ha pasado lo mismo, de repente vuelve aparecer el calendario vacío y el blog está en modo público, de hecho, hasta ahora funcionó bien. Puede estar relacionado también con esa modificación de código?
    No toco nada hasta que me confirmes, gracias por tu ayuda
    Saludos

    ResponderEliminar