S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing:
==> video  [in template "10154#10192#FICHA_FORMACION_RECURSO_TPL" at line 119, column 14]

----
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: #if video.videoYTBanner.getData()?has...  [in template "10154#10192#FICHA_FORMACION_RECURSO_TPL" at line 119, column 9]
----
1<#-- get services --> 
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
3<#assign UtilsService = serviceLocator.findService("com.educaixa.common.service.EduCaixaCommonService")/> 
4<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
5<#assign dLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") /> 
6<#assign InscripcionConferenciaLocalService = serviceLocator.findService("com.educaixa.services.service.InscripcionConferenciaLocalService") /> 
7<#assign LiteralsToolsServiceUtil = serviceLocator.findService("com.aqua.literals.util.LiteralsToolsService")/> 
8<#assign language = themeDisplay.getLocale()/> 
9<#assign groupId = themeDisplay.getScopeGroupId()/> 
10<#assign restultsLiteral = LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.common.link.resultados") /> 
11<#assign valoracionesDisplay = serviceLocator.findService("com.educaixa.services.service.RatingStatsLocalService")/> 
12<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
13<#assign httpServletRequest = serviceContext.getRequest() /> 
14<#assign UserBookmarkLocalService = serviceLocator.findService("com.educaixa.services.service.UserBookmarkLocalService") /> 
15 
16<#assign journalArticleId = .vars['reserved-article-id'].data/> 
17<#assign userId =themeDisplay.getUserId()/> 
18<#assign isUserBookmark = UserBookmarkLocalService.isUserBookmark(themeDisplay.getCompanyId(),userId,journalArticleId,groupId)/> 
19 
20<#assign article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) /> 
21<#assign asset = assetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", article.resourcePrimKey) /> 
22 
23<#assign httpServletRequest = serviceContext.getRequest() /> 
24<#assign plid = portalUtil.getPlidFromPortletId(themeDisplay.getScopeGroupId(), "EducaixaMyeducaixaLogin") /> 
25<#assign loginURL = portletURLFactory.create(httpServletRequest, "EducaixaMyeducaixaLogin", plid, "RENDER_PHASE") /> 
26${loginURL.setParameter("mvcPath", "/login_modal.jsp")} 
27${loginURL.setWindowState("POP_UP")} 
28 
29<#-- get the results URL and valoration value--> 
30<#assign results_url = "https://${request.serverName}/${locale.getLanguage()}${restultsLiteral}?q=" /><#assign valoracionesDisplayAverage = 0/> 
31<#if valoracionesDisplay.fetchByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) ??> 
32    <#assign valoracionesDisplayValue = valoracionesDisplay.findByResourcePK(themeDisplay.getScopeGroupId(),themeDisplay.getCompanyId(),article.getResourcePrimKey()) /> 
33    <#assign valoracionesDisplayAverage = valoracionesDisplayValue.getAverageGlobalScore() /> 
34</#if> 
35 
36<#-- Escape title text --> 
37<#if title.getData()??> 
38    <#assign titleEscaped = title.getData()?replace('<p>','','r')/> 
39    <#assign titleEscaped = titleEscaped?replace('</p>','','r')/> 
40    <#assign titleEscaped = titleEscaped?replace('<div>','','r')/> 
41    <#assign titleEscaped = titleEscaped?replace('</div>','','r')/> 
42    <#assign titleEscaped = titleEscaped?replace('<h1>','','r')/> 
43    <#assign titleEscaped = titleEscaped?replace('</h1>','','r')/> 
44</#if> 
45 
46<#if subtitle.getData()??> 
47    <#assign subtituloEscaped = subtitle.getData() /> 
48    <#assign subtituloEscaped = subtituloEscaped?replace('<p>','','r')/> 
49    <#assign subtituloEscaped = subtituloEscaped?replace('</p>','','r')/> 
50</#if> 
51 
52<#-- get image alt --> 
53<#if bannerImageTraining_?? && bannerImageTraining_.getData()?? && bannerImageTraining_.getData() != ""> 
54    <#assign altImage = bannerImageTraining_.getAttribute("alt") /> 
55<#else> 
56    <#assign altImage = titleEscaped /> 
57</#if> 
58 
59<#-- get image banner --> 
60<#if bannerImageTraining_?? && bannerImageTraining_.getData()?? && bannerImageTraining_.getData() != "">   
61    <#assign imageSrc = bannerImageTraining_.getData() /> 
62<#else>     
63    <#assign imageSrc = "/o/educaixa-theme/images/blured-lights-formacion.png" /> 
64</#if> 
65 
66<#assign language = themeDisplay.getLocale()/> 
67<#assign nivel_educativo = []> 
68<#assign area_conocimiento = []> 
69<#assign competencias = []> 
70<#assign objectius = []> 
71<#assign idiomas = []> 
72 
73<#list asset.getCategories() as cur_category> 
74    <#if cur_category.vocabularyId == 10515> 
75        <#assign nivel_educativo = nivel_educativo + [cur_category.getTitle(language)]> 
76    <#elseif cur_category.vocabularyId == 6> 
77        <#assign area_conocimiento = area_conocimiento + [cur_category.getTitle(language)]> 
78    <#elseif cur_category.vocabularyId == 401> 
79        <#assign competencias = competencias + [cur_category.getTitle(language)]> 
80    <#elseif cur_category.vocabularyId == 37177313> 
81        <#assign objectius = objectius + [cur_category.getTitle(language)]> 
82    <#elseif cur_category.vocabularyId == 17> 
83        <#assign idiomas = objectius + [cur_category.getTitle(language)]> 
84    </#if> 
85</#list> 
86<#assign provincia_id = 9/> 
87<#assign centro_flc_id = 18/> 
88 
89<#assign thesaurusCategories = UtilsService.getThesaurusCategories(asset) /> 
90<#assign tagsCategories = UtilsService.getTagsCategories(asset) /> 
91<#assign categories = thesaurusCategories + tagsCategories /> 
92 
93<#-- inscripcion conferencia --> 
94<#assign is_signed_in = themeDisplay.isSignedIn()/> 
95<#assign groupId = themeDisplay.getScopeGroupId()/> 
96<#assign companyId =themeDisplay.getCompanyId()/> 
97<#assign userId =themeDisplay.getUserId()/> 
98<#assign journalArticleId = .vars['reserved-article-id'].data/> 
99<#assign aforomax = true /> 
100<#assign inscripcion = false /> 
101<#attempt> 
102    <#assign inscripcionC = InscripcionConferenciaLocalService.findByConferenciaIdAndInscrito(groupId, companyId, journalArticleId?number, true)/> 
103    <#assign countInscripcion = inscripcionC?size /> 
104    <#if aforo?? && aforo.getData()?has_content && countInscripcion < aforo.getData()?number> 
105        <#assign aforomax = false /> 
106    </#if> 
107    <#if is_signed_in> 
108        <#assign inscrip = InscripcionConferenciaLocalService.actualizarinscripcionConferencia(groupId, companyId, userId, journalArticleId?number) /> 
109        <#assign inscripcion = inscrip.isInscrito() /> 
110    </#if> 
111<#recover> 
112</#attempt> 
113 
114<#assign currentUrl = themeDisplay.getURLPortal()+themeDisplay.getURLCurrent()/> 
115 
116<#-- Banner section--> 
117<div class="container vertical image-view" style="padding:0px"> 
118    <div class="row"> 
119    	<#if video.videoYTBanner.getData()?has_content || video.getData()?has_content> 
120            <iframe src="https://www.youtube.com/embed/${video.videoYTBanner.getData()}?rel=0" width="900px" height="458px" allowfullscreen webkitallowfullscreen mozallowfullscreen frameborder='0'></iframe> 
121        <#else> 
122            <img src="${imageSrc}" alt="${altImage}"class="img-fluid col-lg-7 video-player" width="900" height="548" style="padding: 0px; width: auto; flex-basis: auto;">   
123        </#if> 
124        <div class="row"> 
125            <div class="box-img square square-mob col-lg"> 
126                <p class="training-type">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.formacion")}</p> 
127	            <#if title?has_content> 
128                	<h3 class="element-title">${titleEscaped}</h3> 
129				</#if> 
130                <#if subtitle?has_content>	 
131                	<p class="element-body">${subtituloEscaped}</p> 
132				</#if> 
133                <#if categories?has_content> 
134	                <div class="bloque hide-below-980"> 
135	                    <div class="tags"> 
136	                        <#list categories as category> 
137	                            <#-- redirects to the results page with the tag--> 
138	                            <a onClick="updateTagsCicks('${category.getTitle(locale)}');" href="${results_url}${category.getTitle(locale)}" class="box-actualit-tags">${category.getTitle(locale)}</a> 
139	                        </#list> 
140	                    </div> 
141	                </div> 
142	            </#if> 
143	            <hr style="border-color: #0FB158;"> 
144	            <div class="card-actions flex"> 
145	                <div class="statistics"> 
146	                    <svg viewBox="0 0 36 36" class="circular-chart orange"> 
147	                        <path class="circle-bg" d="M18 2.0845 
148	                            a 15.9155 15.9155 0 0 1 0 31.831 
149	                            a 15.9155 15.9155 0 0 1 0 -31.831"></path> 
150	                        <path class="circle" stroke-dasharray="${valoracionesDisplayAverage*20}, 100" d="M18 2.0845 
151	                            a 15.9155 15.9155 0 0 1 0 31.831 
152	                            a 15.9155 15.9155 0 0 1 0 -31.831"></path> 
153	                        <text x="18" y="22" class="percentage">${valoracionesDisplayAverage}</text> 
154	                    </svg> 
155	                </div> 
156	                <div class="share"> 
157	                    <button id="share"></button> 
158	                    <div class="addthis_inline_share_toolbox tooltip"></div> 
159	                </div> 
160	                <div class="bookmark"> 
161						<#if is_signed_in> 
162							<#if isUserBookmark> 
163								<button id="bookmark" onClick="updateUserBookmark(${journalArticleId},false);" data-articleid="${journalArticleId}" class="bookmark bookmarked"></button>  
164							<#else> 
165								<button id="bookmark" onClick="updateUserBookmark(${journalArticleId},true);" data-articleid="${journalArticleId}" class="bookmark"></button> 
166							</#if> 
167						<#else> 
168							<button id="bookmark" onClick="event.stopPropagation();openPopup('${loginURL}','','500', '650')"></button> 
169						</#if> 
170	                </div> 
171	            </div> 
172            </div>     
173        </div>    
174    </div>     
175</div> 
176 
177<#-- DATOS BASICOS--> 
178<div class="container vertical info-view" style="margin-top:25px;"> 
179    <div class="row"> 
180    	<#if nivel_educativo?size != 0 > 
181    		<div class="col-lg col-xs-6 col-sm"> 
182                <h2 class="green-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.nivel.educativo")}</h2><br> 
183                <ul> 
184                    <#list nivel_educativo as item> 
185                        <li class="marked">${item}</li> 
186                    </#list> 
187                </ul> 
188        	</div> 
189        </#if> 
190        <#if area_conocimiento?size != 0 > 
191        	<div class="col-lg col-xs-6 col-sm"> 
192            	<h3 class="green-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.area.conocimiento")}</h3><br> 
193	            <ul> 
194	                <#list area_conocimiento as item> 
195                        <li class="marked">${item}</li> 
196                    </#list> 
197	            </ul>     
198        	</div> 
199		</#if> 
200		<#if competencias?size != 0 > 
201	        <div class="col-lg col-xs-6 col-sm"> 
202	            <h3 class="green-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.competencias")}</h3><br> 
203	            <ul> 
204	                <#list competencias as item> 
205                        <li class="marked">${item}</li> 
206                    </#list> 
207				</ul> 
208	        </div> 
209        </#if> 
210        <#if objectius?size != 0 > 
211	        <div class="col-lg col-xs-6 col-sm"> 
212	            <h3 class="green-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.objetivos")}</h3><br> 
213	            <ul> 
214	                <#list competencias as item> 
215                        <li class="marked">${item}</li> 
216                    </#list> 
217				</ul> 
218	        </div> 
219        </#if> 
220        <#if idiomas?size != 0 > 
221	        <div class="col-lg col-xs-6 col-sm"> 
222	            <h3 class="green-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.idioma")}</h3><br> 
223	            <ul> 
224	                <#list competencias as item> 
225                        <li class="marked">${item}</li> 
226                    </#list> 
227				</ul> 
228	        </div> 
229        </#if> 
230        <#if length?? && length.getData()?? && length.getData() != ""> 
231            <div class="col-lg col-xs-6 col-sm"> 
232                <h3 class="green-title">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.seccion.ficha.duracion")}</h3><br> 
233                <ul> 
234                    <li class="marked">${length.getData()}</li> 
235				</ul> 
236            </div> 
237        </#if> 
238    </div> 
239</div> 
240 
241<hr class="green-line"> 
242<div class="container vertical" style="margin-top:25px;"> 
243	<div class="row three"> 
244	    <div class="col-lg-7 col-sm"> 
245	    	<#-- DESCRIPCION--> 
246	    	<#if description?? && description.getData()?? && description.getData() != ""> 
247				<p>${description.getData()}</p3> 
248			</#if> 
249			<#if objectives?? && objectives.getData()?? && objectives.getData() != ""> 
250				<p>${objectives.getData()}</p3> 
251			</#if>			 
252	       	<#-- SECCION MATERIALES Y DESCARGA --> 
253       		<#if materialsAndDownloadsText.getData()?has_content || materialsAndDownloadsText.linkTxt.getSiblings()?has_content || materialsAndDownloadsText.fileText.getSiblings()?has_content > 
254		        <div class="bloque" id="materiales-descarga-recurso"> 
255				<h3>${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.materials.and.downloads")}</h3> 
256					<#if materialsAndDownloadsText.getData()?has_content> 
257						<div class="materiales-descarga-formacion-text"> 
258							${materialsAndDownloadsText.getData()} 
259						</div> 
260					</#if> 
261					<#if materialsAndDownloadsText.linkTxt.getSiblings()?has_content && (materialsAndDownloadsText.linkTxt.internalLink.getData()?has_content || materialsAndDownloadsText.linkTxt.externalLink.getData()?has_content)> 
262						<ul class="material"> 
263							<#list materialsAndDownloadsText.linkTxt.getSiblings() as linkTxt> 
264								<li> 
265								<#if linkTxt.internalLink.getData()?has_content> 
266									<a href="${linkTxt.internalLink.getData()}" > 
267								<#elseif linkTxt.externalLink.getData()?has_content> 
268									<a href="${linkTxt.externalLink.getData()}" target="_blank"> 
269								</#if> 
270									<span class="mat-and-down-before"></span> 
271									<span class="mat-and-down-text">${linkTxt.getData()}</span> 
272									<span class="mat-and-down-after"></span> 
273									</a> 
274								</li> 
275							</#list> 
276						</ul> 
277					</#if> 
278					<#if materialsAndDownloadsText.fileText.getSiblings()?has_content && materialsAndDownloadsText.fileText.file.getData()?has_content> 
279						<ul class="descargas"> 
280							<#list materialsAndDownloadsText.fileText.getSiblings() as fileText> 
281								<#if fileText.file.getData()?has_content> 
282									<#assign file = dLFileEntryLocalService.getFileEntryByUuidAndGroupId(fileText.file.getData()?keep_after_last("/")?keep_before("?"),groupId) /> 
283									<li> 
284										<a onClick="addGTMEvent('descargas','pdf', '${currentUrl}')" href="${fileText.file.getData()}" target="_blank"> 
285										<span class="mat-and-down-before"></span> 
286										<span class="mat-and-down-text">${fileText.getData()}<span> (${file.getMimeType()?keep_after_last("/")?upper_case} ${file.getSize()[0..(file.getSize()?length - 4)]}Kb)</span></span> 
287										<span class="mat-and-down-after"></span> 
288										</a> 
289									</li> 
290								</#if> 
291							</#list> 
292						</ul> 
293					</#if> 
294					<#if materialsAndDownloadsText.zipFile.getData()?has_content> 
295						<p class="center"><a href="${materialsAndDownloadsText.zipFile.getData()}" class="font-xtra-small download">${LiteralsToolsServiceUtil.getLiteral(groupId, language, "com.educaixa.download.all")}</a></p> 
296					</#if> 
297					<div class="navigation-bloques"> 
298						<div class="ficha-navigation-arrows ficha-navigation-prev-arrow" data-toShowContent="objetivos-recurso">&nbsp;</div> 
299					</div> 
300				</div> 
301	        </#if> 
302	    </div> 
303	    <#-- Register content --> 
304		<#if journalArticleLocalService.fetchArticle(groupId, "CAPTACION_FORMACION") ??> 
305		<#assign register = journalArticleLocalService.getArticle(groupId, "CAPTACION_FORMACION")/>  
306			<#if register?? && register != ""> 
307	            <#assign registerContent = journalArticleLocalService.getArticleContent(register, register.DDMTemplateKey, "VIEW", themeDisplay.getLocale(), themeDisplay) />  
308	        </#if> 
309	        <#assign registerContent = journalArticleLocalService.getArticleContent(register, register.DDMTemplateKey, "VIEW", themeDisplay.getLocale(), themeDisplay) />  
310		  	<div class= "captacion-ficha"> 
311		  		${registerContent} 
312	  		</div> 
313	    </#if> 
314	</div> 
315</div> 
316 
317<script> 
318$( document ).ready(function() { 
319    initAddThis(); 
320}); 
321</script> 
0.0
Encara no hi ha cap comentari. Sigues el primer a enviar comentaris.

Valoració mitjana global sobre 5

Basada en 0 valoracions