test_training
Après avoir saisi le service Client et à défaut de réponse satisfaisante ou en l’absence de réponse dans un délai de 60 jours, le client peut saisir le médiateur du Tourisme et du Voyage, dont les coordonnées et modalités de saisine sont disponibles sur son site : MTV Travel
حصل خطأ عند معالجة القالب.
The following has evaluated to null or missing:
==> field.getValue().getString(locale) [in template "64899143380625#20119#49600" at line 51, column 32]
----
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 row = field.getValue().getStr... [in template "64899143380625#20119#49600" in macro "processFields" at line 51, column 17]
- Reached through: @processFields fields=nestedFields [in template "64899143380625#20119#49600" in macro "processFields" at line 56, column 17]
- Reached through: @processFields fields=nestedFields [in template "64899143380625#20119#49600" in macro "processFields" at line 56, column 17]
- Reached through: @processFields fields=field.getNested... [in template "64899143380625#20119#49600" at line 74, column 13]
----
1<#assign currentURL = themeDisplay.getURLCurrent() />
2<#assign id = "" />
3<#if currentURL?contains("id=")>
4 <#assign id = currentURL?split("id=")[1]?split("&")[0] />
5</#if>
6
7<#assign ddmFieldLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMFieldLocalService")/>
8
9<#if entries?has_content>
10
11<section id="delays-and-disruptions">
12<div class="container">
13<ul class="accordion-list js-tablistkey js-keyboard accordion-list-active">
14
15<#assign countAccordions = 0 />
16<#assign cont = 0 />
17
18<#list entries as cur_entries>
19
20 <#assign assetRenderer = cur_entries.getAssetRenderer()/>
21 <#assign journalArticle = assetRenderer.getAssetObject() />
22 <#assign ddmStructure = journalArticle.getDDMStructure() />
23 <#assign ddmForm = ddmStructure.getDDMForm()/>
24 <#assign ddmFormValues = ddmFieldLocalService.getDDMFormValues(ddmForm, journalArticle.getId()) />
25 <#assign ddmFormFieldValues = ddmFormValues.getDDMFormFieldValues() />
26
27 <#macro processFields fields>
28 <#list fields as field>
29
30 <#if field.getFieldReference() == "Title">
31 <#assign title = field.getValue().getString(locale) />
32 </#if>
33
34 <#if field.getFieldReference() == "Information">
35 <#assign info = field.getValue().getString(locale) />
36 </#if>
37
38 <#if field.getFieldReference() == "Information2">
39 <#assign info2 = field.getValue().getString(locale) />
40 </#if>
41
42 <#if field.getFieldReference() == "Type">
43 <#assign type = field.getValue().getString(locale) />
44 </#if>
45
46 <#if field.getFieldReference() == "Doc">
47 <#assign doc = field.getValue().getString(locale) />
48 </#if>
49
50 <#if field.getFieldReference() == "Row" && !row?has_content>
51 <#assign row = field.getValue().getString(locale) />
52 </#if>
53
54 <#assign nestedFields = field.getNestedDDMFormFieldValues() />
55 <#if nestedFields?has_content>
56 <@processFields fields=nestedFields />
57 </#if>
58
59 </#list>
60 </#macro>
61
62 <#assign articleId = cur_entries.getAssetRenderer().getArticle().getArticleId() />
63
64 <#list ddmFormFieldValues as field>
65 <#if field.getFieldReference() == "TitleFieldSet">
66
67 <#assign title = "" />
68 <#assign info = "" />
69 <#assign info2 = "" />
70 <#assign type = "" />
71 <#assign doc = "" />
72 <#assign row = "" />
73
74 <@processFields fields=field.getNestedDDMFormFieldValues() />
75
76 <#assign expanded = "false" />
77 <#if cont == 0>
78 <#assign expanded = "true" />
79 </#if>
80
81 <#assign isAccordionActive = (id == articleId) />
82 <#assign classAccordion = "" />
83
84 <#if isAccordionActive || cont == 0>
85 <#assign classAccordion = "active" />
86 </#if>
87
88 <#assign cont = 1 />
89
90 <#if title?has_content && info?has_content>
91
92 <li id="${articleId}" class="template-item js-tablist-container ${classAccordion}">
93 <div class="template-header">
94 <h3>
95 <a href="#"
96 id="accordion-content-tab-${countAccordions}"
97 class="template-title js-tablist-link"
98 role="button"
99 aria-expanded="${expanded}"
100 aria-controls="template-body-id-${countAccordions}">
101 ${title}
102 </a>
103 </h3>
104 </div>
105
106 <div id="template-body-id-${countAccordions}"
107 class="template-body plain-text"
108 role="region"
109 aria-labelledby="accordion-content-tab-${countAccordions}">
110
111 <p class="paragraph-small">
112 <@liferay.language key="last-updated" />
113 ${cur_entries.modifiedDate?datetime?string("dd/MM/yyyy")}
114 </p>
115
116 <p class="paragraph-small">
117 ${info}
118 </p>
119
120 <#if row?has_content>
121 <p>${row}</p>
122 </#if>
123
124 <#-- Tabla repeatable -->
125 <#list field.getNestedDDMFormFieldValues() as nested>
126 <#if nested.getFieldReference() == "RowFieldSet">
127 <div class="table-responsive scroll-table">
128 <table class="table table-alternate-reverse">
129
130 <#list nested.getNestedDDMFormFieldValues() as rowSet>
131 <tr>
132 <#assign count = 1 />
133 <#list rowSet.getNestedDDMFormFieldValues() as column>
134 <#if column.getFieldReference() == "Column">
135 <#if count == 1>
136 <th class="white" style="background-color:#c2002f!important;">
137 ${column.getValue().getString(locale)}
138 </th>
139 <#else>
140 <td>
141 ${column.getValue().getString(locale)}
142 </td>
143 </#if>
144 <#assign count = count + 1 />
145 </#if>
146 </#list>
147 </tr>
148 </#list>
149
150 </table>
151 </div>
152 </#if>
153 </#list>
154
155 <p class="paragraph-small">
156 ${info2}
157 </p>
158 <#if doc?has_content>
159 <a href="${doc}" target="_blank" class="red more-info">
160 ${languageUtil.format(locale, "download-x", ["Doc"], false)}
161 </a>
162 </#if>
163
164 </div>
165 </li>
166
167 <#assign countAccordions = countAccordions + 1 />
168
169 </#if>
170
171 </#if>
172 </#list>
173
174</#list>
175
176</ul>
177</div>
178</section>
179
180</#if>