| Icon | Name | Link |
| Alquiler de coches | https://www.turismoasturias.es/en/conecta/rss/rss-organiza-tu-viaje/-/asset_publisher/cnmSxeEb2Q9J/rss |
| Icon | Name | Link |
| Autocaravanas | https://www.turismoasturias.es/en/conecta/rss/rss-organiza-tu-viaje/-/asset_publisher/BiwjCNpUNVZo/rss |
| Icon | Name | Link |
| Mapas y callejeros | https://www.turismoasturias.es/en/conecta/rss/rss-organiza-tu-viaje/-/asset_publisher/gK8OHD3rMyNu/rss |
An error occurred while processing the template.
The following has evaluated to null or missing:
==> Visualizador.Slide [in template "37703#37743#1558583" at line 17, column 19]
----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign images = Visualizador.Slide.g... [in template "37703#37743#1558583" at line 17, column 1]
----
1<#-- Reserved vbles -->
2<#assign title = .vars['reserved-article-title'].data>
3<#assign articleId=.vars["reserved-article-id"].data />
4<#assign description=.vars["reserved-article-description"].data />
5<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data />
6<#assign date=.vars["reserved-article-display-date"].data />
7<#assign request = .vars['request']>
8
9<#-- Init -->
10<#assign assetEntry = journalTool.getAssetEntryByArticleId(groupId, articleId) !/>
11<#assign journalArticle = journalTool.getJournalArticleByAssetEntry(assetEntry) !/>
12<#assign ddmStructureNameNormalize = "template-${friendlyURLNormalizerTool.normalize(journalArticle.getDDMStructure().getName(localeUtil.getDefault()))}" />
13
14<#assign thumbnailBannerUuid = themeDisplay.getLayoutSet().getSettingsProperty("banner")!""/>
15<#assign imagePath = ""/>
16<#assign imagePathBanner = ""/>
17<#assign images = Visualizador.Slide.getSiblings() !/>
18<#assign googlePlay = Informacion.GooglePlay.data !/>
19<#assign appStore = Informacion.AppStore.data !/>
20
21<section class="template ${ddmStructureNameNormalize}">
22 <div class="row gx-5" temscope itemtype="http://schema.org/SoftwareApplication">
23 <div class="col-lg-4 col-md-6 col-sm-6 col-12">
24 <div class="card">
25 <#if smallImageUrl?has_content>
26 <#assign cssClass = "d-block image-wrapper aspect-ratio-bg-cover aspect-ratio-4-to-3"/>
27 <span class="${cssClass}" style="background-image: url('${dlTool.getThumbnail(smallImageUrl, '3', imagePathBanner)}');">
28 <img class="hide-accessible" alt="Imagen ${Nombre.data}" src="${dlTool.getThumbnail(smallImageUrl, '3', imagePathBanner)}" itemprop="image"/>
29 </span>
30 </#if>
31
32 <span class="card-body">
33 <span class="card-title" itemprop="name">${Nombre.data}</span>
34 <#if validator.isNotNull(description)>
35 <span class="card-text" itemprop="description">${description}</span>
36 </#if>
37 <button type="button" class="btn btn-outline-success mt-3" data-toggle="modal" data-target="#dialog-content-apps-1" >
38 <span class="far fa-arrow-alt-circle-down">
39 <span class="hide-accessible">${languageUtil.get(request,"descargar-app")}</span>
40 </span>
41 ${languageUtil.get(request,'descargar-app')}
42 </button>
43
44 </span>
45
46 <!-- Modal -->
47 <div class="modal fade" id="dialog-content-apps-1" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
48 <div class="modal-dialog modal-dialog-centered w-100" role="document">
49 <div class="modal-content mx-auto w-auto">
50 <div class="modal-header">
51 <h6 class="modal-title" id="exampleModalLongTitle">${Nombre.data} - ${languageUtil.get(request,'descargar-app')}</h6>
52 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
53 <span aria-hidden="true">×</span>
54 </button>
55 </div>
56 <div class="modal-body pb-4">
57 <div class="dialog-content-apps d-flex">
58 <!-- Metemos aquí los dos códigos QR y los enlaces -->
59 <!-- https://chart.googleapis.com/chart?chs=500x500&cht=qr&chl=http://www.google.es -->
60
61 <#if validator.isNotNull(appStore)>
62 <span class="qr-codes <#if validator.isNotNull(appStore) != validator.isNotNull(googlePlay)> qr-code-one-element </#if>">
63 <img src="https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=${appStore}" alt="${Nombre.data}" title="${Nombre.data}"/>
64 <span class="app-download-link">
65 <a href="${appStore}" class="appstore-download-button" target="_blank" itemprop="url">
66 ${languageUtil.format(request,'go-to-x','descargar-app')}
67 </a>
68 </span>
69 </span>
70 </#if>
71
72
73 <#if validator.isNotNull(googlePlay)>
74 <span class="qr-codes <#if validator.isNotNull(appStore) != validator.isNotNull(googlePlay)> qr-code-one-element </#if>">
75 <img src="https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=${googlePlay}" alt="${Nombre.data}" title="${Nombre.data}"/>
76 <span class="app-download-link">
77 <a href="${googlePlay}" class="googleplay-download-button" target="_blank" itemprop="url">
78 ${languageUtil.format(request,'go-to-x','descargar-app')}
79 </a>
80 </span>
81 </span>
82 </#if>
83 </div>
84 </div>
85 </div>
86 </div>
87 </div>
88 </div>
89 </div>
90 </div>
91</section>
92
93<style>
94 .app-download-link a {
95 display: block;
96 text-indent: -1000000px;
97 overflow: hidden;
98 height: 52px;
99 width: 154px;
100 margin-left: 24px;
101 }
102 a.appstore-download-button {
103 /*background: url(/documents/53258/290213/apps-dialog-download-link-appstore-icon.png/ede32f80-a54f-4f8e-2d84-3972621a116e?t=1640772228596) no-repeat;*/
104 background: url(images/templates/apps-dialog-download-link-appstore-icon.png) no-repeat;
105 }
106 .dialog-content-apps .app-download-link a.googleplay-download-button {
107 /*background: url(/documents/53258/290213/apps-dialog-download-link-googleplay-icon.png/be3e8567-69c0-853c-1981-ef4a0705759d?t=1640772227019) no-repeat;*/
108 background: url(images/templates/apps-dialog-download-link-googleplay-icon.png) no-repeat;
109 }
110 .modal {
111 display: none;
112 }
113</style>
| Icon | Name | Link |
| Servicios y trámites | https://www.turismoasturias.es/en/conecta/rss/rss-organiza-tu-viaje/-/asset_publisher/tnNCieNpKHcs/rss |
| Icon | Name | Link |
| Guías turísticas | https://www.turismoasturias.es/en/conecta/rss/rss-organiza-tu-viaje/-/asset_publisher/GyjeouMM7B3d/rss |
| Icon | Name | Link |
| Oficinas de turismo | https://www.turismoasturias.es/en/conecta/rss/rss-organiza-tu-viaje/-/asset_publisher/UtxVs8Jmf2NC/rss |