templates/layout.html.twig line 1

Open in your IDE?
  1. <head>
  2. <meta charset="UTF-8" />
  3. <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
  4. <meta name="description" content="{{ configuration.meta_description }}" />
  5. <title>{{ configuration.meta_title }}</title>
  6. {% if parametros.level == 0 %}
  7. <link rel="canonical" href="/">
  8. {% elseif parametros.level == 1 %}
  9. <link rel="canonical" href="{{city.route}}" /> <!-- Cambiar city.route por service.route si el nivel se basa en servicio en vez de ciudades -->
  10. {% else %}
  11. <link rel="canonical" href="{{service.route}}{{city.route}}" />
  12. {% endif %}
  13. <link rel="shortcut icon" href="/images/favicon.png" />
  14. {# CSS #}
  15. {# CSSCOMUNES #}
  16. {# ENDCSSCOMUNES #}
  17. {#
  18. Parte AMP
  19. {% if amp_page is defined %}
  20. <style amp-custom>
  21. {{ styles | raw }}
  22. </style>
  23. <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style>
  24. <noscript>
  25. <style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style>
  26. </noscript>
  27. {%else%}
  28. #}
  29. <link rel="stylesheet" href="/dist/css/bootstrap.min.css">
  30. <link rel="stylesheet" href="/css/colorbox.css" />
  31. <!--colorbox es una librería para hacer un modal con imágenes ejemplo: https://www.jacklmoore.com/colorbox/example1/-->
  32. <!--<link defer rel="stylesheet" href="/css/baguetteBox.min.css" />-->
  33. <!--baguetteBox es una librería para galerías de imágenes http://feimosi.github.io/baguetteBox.js/-->
  34. <!--<script defer src="/js/baguetteBox.min.js"></script>-->
  35. <link href="/dist/fontawesome/css/all.min.css" rel="stylesheet">
  36. <!--Si no ves un icono descarga la última versión de la librería-->
  37. <!--load all styles -->
  38. <link rel="stylesheet" href="/css/estilos.css" />
  39. {% if nombreCiudad starts with 'plantilla' %}
  40. <!-- CSS DE PRUEBAS -->
  41. <link rel="preload" as="style" href="/css/plantilla.css" />
  42. {% endif %}
  43. {# ENDCSS #}
  44. {# SCRIPTS #}
  45. <!-- AMP -->
  46. {# {% if amp_page is defined %}
  47. <script async src="https://cdn.ampproject.org/v0.js"></script>
  48. {% if contact_msg is not defined %}
  49. <script async custom-element="amp-form" src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script>
  50. {%endif%}
  51. <script async custom-element="amp-user-notification" src="https://cdn.ampproject.org/v0/amp-user-notification-0.1.js"></script>
  52. <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
  53. <script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
  54. <script async custom-element="amp-carousel" src="https://cdn.ampproject.org/v0/amp-carousel-0.1.js"></script>
  55. {%else%}
  56. #}
  57. <!-- Google Tag Manager -->
  58. <script>
  59. (function(w, d, s, l, i) {
  60. w[l] = w[l] || [];
  61. w[l].push({
  62. 'gtm.start': new Date().getTime(),
  63. event: 'gtm.js'
  64. });
  65. var f = d.getElementsByTagName(s)[0],
  66. j = d.createElement(s),
  67. dl = l != 'dataLayer' ? '&l=' + l : '';
  68. j.async = true;
  69. j.src =
  70. 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
  71. f.parentNode.insertBefore(j, f);
  72. })(window, document, 'script', 'dataLayer', '{{ gtm_id }}');
  73. </script>
  74. <!-- End Google Tag Manager -->
  75. <script src="/dist/js/jquery-3.6.0.min.js"></script>
  76. {# Captcha de google #}
  77. {% if parametros.captcha %}
  78. <script src="https://www.google.com/recaptcha/api.js?onload=recaptchaCallback&render=explicit&hl=es" async defer></script>
  79. {% endif %}
  80. {# ENDSCRIPTS #}
  81. </head>
  82. <body
  83. {# {% if amp_page is defined %}
  84. <amp-analytics config="https://www.googletagmanager.com/amp.json?id={{amp_gtm_id}}&amp;gtm.url=SOURCE_URL" data-credentials="include" aria-hidden="true" style="width: 1px; height: 1px; display: none;">
  85. <script type="application/json">
  86. {
  87. "vars": {
  88. "gaTrackingId": "{{amp_gtm_id}}"
  89. }
  90. }
  91. </script>
  92. </amp-analytics>
  93. {%else%} #}
  94. <!-- Google Tag Manager -->
  95. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id={{ gtm_id }}" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  96. <!-- End Google Tag Manager (noscript) -->
  97. {# {%endif%} #}
  98. {%block servicio %}
  99. {%endblock%}
  100. {# {% if amp_page is defined %}
  101. <amp-user-notification layout=nodisplay id="amp-user-cookies-notification">
  102. <div class="cookies-warm-amp">
  103. <div class="content">Utilizamos cookies propias y de terceros para mejorar nuestros servicios mediante el análisis de sus hábitos de navegación. Si cierra este aviso, continúa navegando o permanece en la web, consideraremos que acepta su uso. Puede obtener más información, o bien conocer cómo cambiar la configuración, en nuestra <a target="_blank" href="/politica-cookies" title="Política de cookies">Política de cookies</a>. <button on="tap:amp-user-cookies-notification.dismiss">Aceptar</button></div>
  104. </div>
  105. </amp-user-notification>
  106. {%else%} #}
  107. {% block footer_scripts %}
  108. <!--<script defer src="/dist/js/jquery-ui.min.js"></script>-->
  109. <!-- Librería de efectos en jQuery para usarlos sin saber de jQuery https://jqueryui.com/demos/-->
  110. <script async src="/dist/js/bootstrap.min.js"></script>
  111. <script defer src="/js/jquery.colorbox-min.js"></script>
  112. <script defer type="text/javascript" src="/js/jquery.validate.min.js"></script><!-- Desactivar si no hay formulario -->
  113. {% if parametros.js[nombreServicio] is defined%}
  114. <script defer src="/js/{{parametros.js[nombreServicio]}}"></script>
  115. {% else %}
  116. <script defer src="/js/{{parametros.js['default']}}"></script>
  117. {% endif %}
  118. {%endblock%}
  119. {# {%endif%} #}
  120. </body>