Como usar templates web con Google Apps Script


 Ya he escrito varios posts sobre como implementar webs con Google Apps Script (por ejemplo: webs y webs dinamicas o como hacer logins o usar iframes) pero nunca he hablado de como usar templates web con Google Apps Script.

Primero de todo hemos de explicar que son los templates web. Básicamente un template es una web parametrizada. Parte de su código, de sus variables, dependen de "algo" que nosotros le pasamos al html en el momento de servir la web.

Para que sirve un template web? La potencia que tiene es brutal y sirve para muchísimas cosas pero para lo que más lo uso yo personalmente es para que el html tenga identificadores que permitan relacionar la parte web con la parte más de servidor. Es decir, si necesito que una web introduzca o extraiga información de un spreadsheet puede resultar muy práctico indicarle al html de que spreadsheet debe pillar la información o de que sheet o bien en que fila esta la información de dicho usuario. Esto es solo para poner ejemplos, los usos son múltiples.

Ahora os dejaré un pequeño ejemplo para que podáis probar como funciona:

Index.html

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
    function Click()
    {
       var cosa1 = <?= cosa1 ?>;
       var cosa2 = <?= cosa2 ?>;
       var cosa3 = <?= cosa3 ?>;
       alert(cosa1  + "-" + cosa2 + "-" + cosa3 );
    }
    </script>
  </head>
  <body>
    <h1>
        Gran ejemplo sobre web templates con Google Apps Script
    </h1>
     <button onclick="Click()">Dale</button>
  </body>
</html>

Code.gs
function doGet(e)
{
   var output = HtmlService.createTemplateFromFile('index');
   output.cosa1  = "texto";
   output.cosa2  = "otro texto";       
   output.cosa3  = "y otro mas";
   return output.evaluate();
 }

Como nota adicional tengo que explicar que el uso de templates html con Google Apps Script es increiblemente poderoso cuando lo usamos para enviar plantillas html por correo.

Espero que os haya servido. No vaciléis en hacerme llegar vuestras dudas

Nos vemos

NOTA: Muy relacionado con este tema también tengo un artículo que puede interesarte sobre como como hacer un iframe de un google apps script

3 comentarios:

  1. Hola,
    Como se puede hacer para que no aparezca el mensaje de Google diciendo que esta web no es suya sino de un usuario ajeno, esto siembra desconfianza en los usuarios.
    Muchas gracias

    ResponderEliminar
    Respuestas
    1. Publiqué un artículo justo sobre este tema hace un tiempo: https://www.tutorialesgoogleappscripts.com/2020/07/como-quitar-mensaje-gris-web-google-apps-script.html Espero que te sirva!

      Nos vemos

      Eliminar
  2. buenas como estas, tengo una duda respecto a las plantillas si en una pagina quiero que me mande al index.html y luego a una pagina llamada vinos.html como haría para ir pasando de plantilla en plantilla

    ResponderEliminar

Tal vez te interese