INFOCIUTAT | Ajuntament de València - València
S'ha produït un error mentre es processava la plantilla.
The following has evaluated to null or missing: ==> JournalArticleService.fetchArticleByUrlTitle(groupId, urlTitle) [in template "20115#20151#21567025" at line 192, column 44] ---- 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 article = JournalArticleServi... [in template "20115#20151#21567025" at line 192, column 25] ----
1<!--El publicador no hay que configurarlo con la estructura de infociudad, porque sino intenta cargar cada vez todas las fichas de infociudad-->
2<#assign liferay_theme = PortletJspTagLibs["/META-INF/liferay-theme.tld"] />
3<@liferay_theme["defineObjects"] />
4<#assign themeRootPath = themeDisplay.getPathThemeRoot() />
5<#assign themeImagesPath = themeDisplay.getPathThemeImages() />
6<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") />
7<#assign catPropLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
8<#assign JournalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
9<#assign infoUrl = "/infociudad"/>
10<#assign infoUrlVal = "/infociutat"/>
11<#assign friendlyURL = themeDisplay.getScopeGroup().getFriendlyURL() />
12<#assign currentURL = themeDisplay.getURLCurrent() />
13<#if request.getParameter("p_r_p_categoryId")?has_content>
14
15 <#assign categoryId = request.getParameter("p_r_p_categoryId") />
16 <#assign categoryIdLong = categoryId?number?long />
17 <#assign classLoader = staticUtil["com.liferay.portal.kernel.util.PortalClassLoaderUtil"]/>
18 <#assign categoryValueClass = staticUtil["com.liferay.petra.lang.ClassResolverUtil"].resolve("com.liferay.asset.kernel.model.AssetCategory",classLoader.getClassLoader()) >
19 <#assign dynamicQueryFactory = staticUtil["com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil"] >
20 <#assign dynamicQuery = dynamicQueryFactory.forClass(categoryValueClass) >
21 <#assign propertyFactory = staticUtil["com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil"]>
22 <#assign VOID = dynamicQuery.add(propertyFactory.forName("parentCategoryId").eq(categoryIdLong))>
23 <#assign results = catLocalService.dynamicQuery(dynamicQuery) >
24 <#assign categoryChilds = results />
25 <div class="container publicador-infociudad">
26 <#assign categoriaRecorrida = categoryIdLong >
27 <#assign x=10>
28 <div class="publicador-infociudad-header">
29 <#assign categorias = [] />
30 <#list 1..x as i>
31 <#assign dynamicQueryPadres = dynamicQueryFactory.forClass(categoryValueClass) >
32 <#assign VOID = dynamicQueryPadres.add(propertyFactory.forName("categoryId").eq(categoriaRecorrida))>
33 <#assign resultsPadres = catLocalService.dynamicQuery(dynamicQueryPadres) >
34 <#assign categoryPadres = resultsPadres />
35 <#if categoryPadres?has_content >
36 <#list categoryPadres as categoryPadre>
37 <#if i == 1 >
38 <h2>${categoryPadre.getTitle(locale)}</h2>
39 </#if>
40 <#assign categoriaRecorrida = categoryPadre.getParentCategoryId() >
41 <#assign categorias = categorias +[categoryPadre] />
42 </#list>
43 </#if>
44
45 </#list>
46 <#assign cont = 1 />
47 <#list categorias?reverse as c>
48 <a class="a-info-cat a-info-cat-icon" href="${c.getCategoryId()}" alt="${c.getTitle(locale)}">
49 <p style="font-family: Montserrat-SemiBold,sans-serif;float:left;font-size:2em;margin-bottom: 0.5rem;font-weight: 500;line-height: 1.2;">${c.getTitle(locale)}</p>
50 <#if cont != categorias?size >
51 <span class='glyphicon glyphicon-chevron-right'></span>
52 </#if>
53 </a>
54 <#assign cont = cont + 1 />
55 </#list>
56 </div>
57 <#assign resultsCount = 0 />
58 <#if categoryChilds?has_content >
59 <#assign resultsCountCat = 0 />
60 <#assign z=0>
61 <#list categoryChilds as categoryChild>
62 <#assign aparece = "true" />
63 <#assign properties = catPropLocalService.getCategoryProperties(categoryChild.getCategoryId())>
64 <#if properties?has_content>
65 <#list properties as p>
66 <#if p.getKey() == "Visible">
67 <#assign aparece = catPropLocalService.getCategoryProperty(categoryChild.getCategoryId(), "Visible").getValue() >
68 </#if>
69 </#list>
70 </#if>
71 <#if aparece == "true">
72 <#assign resultsCountCat = resultsCountCat + 1 />
73 <#if z%2 == 0>
74 <#if z == 0>
75 <div class="row row-recurso">
76 <#else>
77 </div>
78 <div class="row row-recurso">
79 </#if>
80 </#if>
81 <div class="col-md-5 col-sm-12 recurso">
82 <a href='${categoryChild.getCategoryId()}' alt='${categoryChild.getTitle(locale)}'>
83 <div class="recurso-imagen">
84 <img src="/documents/20142/21327443/articulo.svg/d1e8b7f4-5ef6-d26d-6fc0-dfb6e26f00b8?t=1671699607767" style="width:40px;height:50px;" alt=""/>
85 <h3 class="mt-4">${categoryChild.getTitle(locale)}</h3>
86 </div>
87 </a>
88 </div>
89 <#if categoryChild?is_last>
90 </div>
91 </#if>
92 <#assign z++>
93 </#if>
94 </#list>
95 <#assign resultsCount = resultsCount + resultsCountCat />
96 </#if>
97 <#assign subcategories = catLocalService.getChildCategories(categoryIdLong) />
98 <#assign x = [categoryIdLong]>
99 <#assign assetEntryQueryService = objectUtil("com.liferay.asset.kernel.service.AssetEntryLocalServiceUtil")>
100 <#assign assetEntryQuery = objectUtil("com.liferay.asset.kernel.service.persistence.AssetEntryQuery") />
101
102 <#assign search =assetEntryQuery.setAnyCategoryIds(x) />
103 <#assign search2 =assetEntryQuery.setOrderByCol1("title") />
104 <#assign search3 =assetEntryQuery.setOrderByType1("ASC") />
105
106 <#assign results = assetEntryQueryService.getEntries(assetEntryQuery)>
107 <#assign entries = results>
108 <#if entries?has_content>
109 <#assign entriesCount = 0 />
110 <#assign z = 0>
111 <#list entries as curEntry>
112 <#assign entryId = curEntry.getClassPK() />
113 <#if entryId?? && entryId != 0 >
114 <#if JournalArticleService.fetchLatestArticle(getterUtil.getLong(entryId),0)??>
115 <#attempt>
116 <#assign article = JournalArticleService.fetchLatestArticle(getterUtil.getLong(entryId),0) />
117
118 <#if article?? && JournalArticleService.isLatestVersion(article.getGroupId(), article.getArticleId(), article.getVersion())>
119 <#if article.getStructureId() == "46337">
120 <#assign contiene = "false" />
121 <#if subcategories?has_content>
122 <#list subcategories as subcategory>
123 <#if catLocalService.hasAssetEntryAssetCategory(curEntry.getEntryId(), subcategory.getCategoryId())?c == "true">
124 <#assign contiene = "true" />
125 <#break>
126 </#if>
127 </#list>
128 </#if>
129 <#if contiene == "false" >
130 <#assign rootElement = saxReaderUtil.read(article.getContentByLocale(locale)).getRootElement() />
131 <#assign selector = saxReaderUtil.createXPath("dynamic-element[@name='titulo']") />
132 <#assign titulo = selector.selectSingleNode(rootElement).getStringValue()?replace("\"", "") />
133 <#if article.isExpired()?c == "false">
134 <#assign entriesCount = entriesCount + 1 />
135 <#if z%2 == 0>
136 <#if z == 0>
137 <div class="row row-recurso">
138 <#else>
139 </div>
140 <div class="row row-recurso">
141 </#if>
142 </#if>
143 <div class="col-md-5 col-sm-12 recurso">
144 <a href="/-/${article.getUrlTitle(locale)}" alt="${article.getTitle(locale)}">
145 <div class="recurso-imagen">
146 <img src="/documents/20142/21327443/url.svg/b5446b33-b350-9f55-108c-f88d683ac9e5?t=1671699609810" style="width:40px;height:50px;" alt=""/>
147 <h3 class="mt-4">${titulo}</h3>
148 </div>
149 </a>
150 </div>
151 <#assign z++>
152 </#if>
153 </#if>
154 </#if>
155 </#if>
156 <#recover>
157 <#continue>
158 </#attempt>
159 </#if>
160 </#if>
161 <#if curEntry?is_last>
162 </div>
163 </#if>
164 </#list>
165 <#assign resultsCount = resultsCount + entriesCount />
166 </#if>
167 <div style="margin-top:1em;">
168 <#if locale == "es_ES">
169 <span class="pl-2">${resultsCount} documentos encontrados.</span>
170 <#else>
171 <span class="pl-2">${resultsCount} documents trobats.</span>
172 </#if>
173 </div>
174 </div>
175<#else>
176 <#if currentURL?contains("/-/") >
177 <#assign urlTitle = currentURL[currentURL?last_index_of("/-/")+3..] />
178 <#if urlTitle?starts_with("asset_publisher")>
179 <#if urlTitle?last_index_of("?") == -1>
180 <#assign urlTitle = urlTitle[urlTitle?last_index_of("/content/")+9..] />
181 <#else>
182 <#assign urlTitle = urlTitle[urlTitle?last_index_of("/content/")+9..urlTitle?last_index_of("?")-1] />
183 </#if>
184 <#else>
185 <#if urlTitle?last_index_of("?") != -1>
186 <#assign urlTitle = urlTitle[0..urlTitle?last_index_of("?")-1] />
187 </#if>
188 </#if>
189 <#if JournalArticleService.fetchLatestArticleByUrlTitle(groupId, urlTitle,0)??>
190 <#assign article = JournalArticleService.fetchLatestArticleByUrlTitle(groupId, urlTitle,0) />
191 <#else>
192 <#assign article = JournalArticleService.fetchArticleByUrlTitle(groupId, urlTitle) />
193 </#if>
194 <#if article??>
195 <@liferay_journal["journal-article"]
196 articleId=article.getArticleId()
197 groupId=article.getGroupId()
198 />
199 </#if>
200 </#if>
201</#if>
202<style>
203.recurso {
204 float: left;
205 margin: 1em 2em 0em 1em;
206 position: relative;
207 width: 100%;
208 height: auto;
209 min-height: 75px;
210 overflow: hidden;
211 text-align: center;
212 padding: 10px;
213 border: 1px solid #eee;
214 border-radius: 5px;
215 box-shadow: 3px 3px 8px #ccc;
216}
217
218.recurso:hover {
219 text-decoration: underline;
220}
221
222.recurso img{
223 float: left;
224}
225.recurso h3 {
226 font-family: 'Montserrat', 'Calibri', Arial, Helvetica, sans-serif;
227 text-transform: uppercase;
228 margin-left: 0;
229 padding: 1em;
230 height: auto;
231 color: #000;
232 font-size: 0.8rem;
233 line-height: 130%;
234 text-align: left;
235 box-sizing: border-box;
236 font-weight: 600;
237 text-shadow: none;
238 display: table-cell;
239 vertical-align: middle;
240 width: calc(100% - 50px);
241}
242
243.recurso-imagen {
244 vertical-align: middle;
245
246}
247.recurso > div p {
248 font-size: 0.7em;
249 color: #333;
250 text-align: left;
251 line-height: 140%;
252 height: auto;
253 padding: 1em;
254 margin: 0;
255 max-height: fit-content;
256}
257
258.row-recurso {
259 list-style:none;
260}
261
262@media only screen and (min-width: 1224px) {
263.row-recurso{
264 margin-left: 5em;
265}
266}
267
268</style>
269<script>
270 $(document).ready(function() {
271 var pageUrl = document.location.pathname;
272 if (!pageUrl.includes("/asset_publisher/dFPWlHhXaSZ7/")) {
273 $('#portlet_com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_Qgz8ni2Ffjm5').hide();
274 }
275 $('a[href*="guia_accesibilidad.nsf"]').parent().hide();
276 //$("h4:contains('Servicios/Actividades:')").parent().hide();
277 });
278</script>
Cerques en Infociutat
Localització d'equipaments pel seu nom o a partir d'alguna paraula inclosa en la seua descripció o contingut.