Visualización del menú

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> fieldName.getValue().getString(locale)  [in template "20095#20121#146278" at line 252, column 154]

----
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 otrosFormatos = fieldName.get...  [in template "20095#20121#146278" at line 252, column 129]
----
1<script type="application/ld+json"> 
2
3
4        "@context": "https://schema.org/", 
5        "@type": "ProductGroup", 
6        "name": "${.vars["reserved-article-title"].data}", 
7        "description": "${descripcionLarga.getData()}", 
8        "url": "${.vars["reserved-article-url-title"].data}", 
9        "brand": { 
10          "@type": "Brand", 
11          "name": "Aposán" 
12        }, 
13        "audience": { 
14          "@type": "PeopleAudience", 
15          "suggestedGender": "unisex", 
16          "suggestedAge": { 
17            "@type": "QuantitativeValue", 
18            "minValue": 13, 
19            "unitCode": "ANN" 
20
21        }, 
22        "productGroupID": "${.vars["reserved-article-id"].data}" 
23
24
25</script> 
26 
27<style> 
28body.cs-farline .category-icon-container { 
29			background-color: #F6F9FE; 
30
31body.cs-aposan .category-icon-container { 
32			background-color: #FEF6F9; 
33
34.category-icon-container { 
35			padding: 12px; 
36			border-radius: 50%; 
37			margin-right: 1rem; 
38
39	.category-icon-container img { 
40			width: 25px; 
41			height: 25px; 
42
43	 
44	.product { 
45    position: relative; 
46
47	 
48  .product .product__activos ul li::before { 
49    content: none !important; 
50
51	 
52	.product .product__activos ul li::before { 
53		display: none; 
54	}   v 
55	 
56@media only screen and (max-width: 1200px) { 
57	.product .product__activos ul { 
58			flex-direction: column; 
59
60
61 
62@media only screen and (max-width: 768px) { 
63.share-button.pdp.mobile { 
64    display: block; 
65    position: absolute; 
66    top: 20px; 
67    right: 20px; 
68
69  .share-button.pdp { 
70    display: none; 
71
72    .cards-adt .cards-adt__items-container { 
73        flex-wrap: nowrap; 
74
75		.product h1 { 
76				font-size: 32px; 
77				line-height: 36px; 
78
79		.product .product__sku { 
80			font-size: 12px; 
81
82		.product-info .product-info__description { 
83				padding-left: 0; 
84
85		.product-info .product-info__text h2 { 
86        line-height: 48px; 
87
88		.legal-advice .legal-advice-item span { 
89				text-align: left; 
90
91
92</style> 
93 
94<#assign  
95	journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
96	productJournalArticle = journalArticleLocalService.getLatestArticle(groupId, .vars["reserved-article-id"].data) 
97	ddmProductStructure = productJournalArticle.getDDMStructure()  
98	className = "com.liferay.journal.model.JournalArticle" 
99	categoryEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") 
100	vocabularyEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") 
101	vocabularies = vocabularyEntryLocalService.getGroupVocabularies(groupId)  
102	categories = categoryEntryLocalService.getCategories(className, productJournalArticle.resourcePrimKey) 
103  assetCategoryPropService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") 
104	classNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService") 
105/> 
106 
107<#assign id = .vars["reserved-article-id"].data /> 
108 
109 
110<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
111<#assign article = JournalArticleLocalService.getArticle(groupId, id) /> 
112<#assign articleResourcePrimKey = article.getResourcePrimKey() /> 
113 
114<script> 
115    // Obtener la IP del usuario usando una API externa 
116    $.getJSON('https://api64.ipify.org?format=json', function(data) { 
117        const userIp = data.ip; 
118         
119        // Crear una lista vacía para las categorías 
120        const categoryList = []; 
121        console.log("Voy a entrar"); 
122 
123        <#list vocabularies as vocabulary> 
124            <#if vocabulary.name == "farlinecategoria"> 
125                <#list categories?reverse as category> 
126                    <#if category.vocabularyId == vocabulary.vocabularyId> 
127                        categoryList.push("${category.name}"); 
128												<#break> 
129                    </#if> 
130                </#list> 
131            </#if> 
132        </#list> 
133 
134        // Llamada AJAX para enviar las categorías y la IP del usuario 
135        $.ajax({ 
136            url: '/o/recomendado/getCategorias', 
137            type: 'GET', 
138            data: { 
139                ip: userIp, // Ahora usamos la IP obtenida por la API externa 
140                categories: categoryList 
141            }, 
142            traditional: true,  
143            success: function(response) { 
144                console.log('Categorías obtenidas de la caché o la base de datos:', response); 
145            }, 
146            error: function(error) { 
147                console.error('Error al obtener las categorías:', error); 
148
149        }); 
150    }); 
151</script> 
152 
153<#-- Categorias ocultas para GTM --> 
154<#list vocabularies as vocabulary> 
155		<#if vocabulary.name == "farlinecategoria"> 
156				<#list categories as category> 
157						<#if category.vocabularyId == vocabulary.vocabularyId> 
158							<#if category.parentCategoryId == 0> 
159									<div id="productCategory" style="display: none"> 
160										${category.name} 
161									</div> 
162							</#if> 
163						</#if> 
164				</#list> 
165		</#if> 
166</#list> 
167 
168<section> 
169		<div class="product"> 
170		  <button class="share-button pdp mobile" style="background-image: url(/documents/d/guest/share)"></button> 
171			<div class="product__image col-md-6"> 
172				<#if imagenesSeccionPrincipalDetalle.getSiblings()?has_content> 
173 
174				<#if imagenesSeccionPrincipalDetalle.getSiblings()[0].getData()?? && imagenesSeccionPrincipalDetalle.getSiblings()[0].getData() != ""> 
175					<div class="product__main-image-container">  
176						<img class="product__main-image" alt="${imagenesSeccionPrincipalDetalle.getSiblings()[0].getAttribute("alt")}" src="${imagenesSeccionPrincipalDetalle.getSiblings()[0].getData()}" loading="lazy"/> 
177					</div> 
178				<#else> 
179				<div class="product__main-image-container">  
180						<img class="product__main-image" alt="producto-farline" src="/documents/d/aposan/placeholder-aposan" loading="lazy"/> 
181					</div> 
182				</#if> 
183 
184				<#if imagenesSeccionPrincipalDetalle.getSiblings()?size gt 1> 
185					<div class="product__image-selector"> 
186						<#list imagenesSeccionPrincipalDetalle.getSiblings() as cur_imagenProducto> 
187							<#if (cur_imagenProducto.getData())?? && cur_imagenProducto.getData() != ""> 
188								<#if cur_imagenProducto?index = 0 > 
189									<img class="active" alt="${cur_imagenProducto.getAttribute("alt")}" data-fileentryid="${cur_imagenProducto.getAttribute("fileEntryId")}" src="${cur_imagenProducto.getData()}" loading="lazy"/> 
190								<#else> 
191									<img alt="${cur_imagenProducto.getAttribute("alt")}" data-fileentryid="${cur_imagenProducto.getAttribute("fileEntryId")}" src="${cur_imagenProducto.getData()}" loading="lazy"/> 
192								</#if> 
193							</#if> 
194						</#list> 
195					</div> 
196				</#if> 
197			</#if> 
198			</div> 
199			<div class="product__details col-md-6"> 
200			 
201			<div class="product__details-aux"> 
202					<!-- Codigo nacional --> 
203					<#if (codigoNacional.getData())??> 
204						<p class="product__sku">CN: ${codigoNacional.getData()}</p> 
205					</#if> 
206					 
207					<!-- Boton compartir --> 
208          <button class="share-button pdp" style="background-image: url(/documents/d/guest/share)"></button> 
209          </div> 
210					 
211					<!-- Titulo --> 
212					<h1 class="product__title"> ${.vars["reserved-article-title"].data} </h1> 
213					 
214					<!-- Formato --> 
215					<#if (formato.getData())??> 
216					<p class="product__format">${formato.getData()}</p> 
217					</#if> 
218					 
219					<!-- Rating --> 
220					 
221					<!-- Descripcion --> 
222					<#if (descripcionCorta.getData())??> 
223						<div class="product__description">${descripcionCorta.getData()}</div> 
224					</#if> 
225					 
226					<!-- Todos los formatos --> 
227					<#if variantes.getSiblings()?has_content> 
228						<div class="product__formats"> 
229								<#list variantes.getSiblings() as cur_variantes> 
230									<#if cur_variantes.getData()?? && cur_variantes.getData() != ""> 
231										<p class="product__formats--title"><b><@liferay.language key="cofares.product.format.title"/></b></p> 
232										<#break> 
233									</#if> 
234								</#list> 
235								<#-- Recolectamos las variantes en una lista temporal --> 
236								<#assign productosOrdenados = [] /> 
237 
238								<#list variantes.getSiblings() as cur_variantes> 
239										<#assign webContentData = jsonFactoryUtil.createJSONObject(cur_variantes.getData()) /> 
240										<#if webContentData.classPK?has_content && webContentData.classPK != ""> 
241												<#assign 
242														contentClassPK = webContentData.classPK?number 
243														journalArticle = journalArticleLocalService.getLatestArticle(contentClassPK) 
244														ddmStructure = journalArticle.getDDMStructure() 
245														ddmForm = ddmStructure.getDDMForm() 
246														ddmFieldLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMFieldLocalService")    
247														ddmFormValues = ddmFieldLocalService.getDDMFormValues(ddmForm, journalArticle.getId()) 
248														ddmFormFieldValues = ddmFormValues.getDDMFormFieldValues() 
249												/> 
250												<#list ddmFormFieldValues as fieldName> 
251														<#if fieldName.getFieldReference() == 'formato'> 
252																<#assign otrosFormatos = fieldName.getValue().getString(locale) /> 
253														</#if> 
254												</#list> 
255 
256												<#-- Añadimos el formato y la URL a la lista de productos --> 
257												<#assign producto = {"formato": otrosFormatos, "url": cur_variantes.getFriendlyUrl(), "classPK": contentClassPK} /> 
258												<#assign productosOrdenados = productosOrdenados + [producto] /> 
259										</#if> 
260								</#list> 
261 
262								<#-- Ordenamos la lista alfabéticamente por el formato --> 
263								<#assign productosOrdenados = productosOrdenados?sort_by("formato") /> 
264 
265								<#-- Iteramos sobre la lista ya ordenada para mostrar los enlaces --> 
266								<#list productosOrdenados as producto> 
267									<#if producto.classPK = articleResourcePrimKey > 
268										<div class="selected product__format-option d-inline-block">${producto.formato}</div> 
269									<#else> 
270										<a href="${producto.url}" class="product__format-option d-inline-block">${producto.formato}</a> 
271									</#if> 
272								</#list> 
273									 
274						</div> 
275					</#if> 
276					 
277					<!-- Boton Encuentralo --> 
278					<#assign 
279					urlHome = themeDisplay.getURLHome() 
280	        <#-- contentURL = urlHome + "/en-tu-farmacia" --> 
281					contentURL = "/farmacias" 
282	        /> 
283					<a href="${contentURL}" data-senna-off="true" class="product__find-pharmacy text-center gtm-product__find-pharmacy">Encuéntralo en tu farmacia </a> 
284					 
285					<!-- Beneficios --> 
286					<#assign  
287							attachmentFileEntryServiceUtil = serviceLocator.findService("com.liferay.commerce.product.service.CPAttachmentFileEntryService") 
288							classNameAssetCategory = "com.liferay.asset.kernel.model.AssetCategory" 
289							dlUtil = staticUtil["com.liferay.document.library.kernel.util.DLUtil"] 
290							classNameAssetCategoryId = classNameLocalService.getClassNameId(classNameAssetCategory) 
291					/> 
292					 
293					<#list vocabularies as vocabulary> 
294						<#if vocabulary.name == "beneficios"> 
295							<div class="product__activos"> 
296								<ul> 
297									<#list categories as category> 
298										<#if category.vocabularyId = vocabulary.vocabularyId> 
299											<#assign categoryIcon = ""> 
300											<#assign categoryIconVisibility = "invisible"> 
301											<#assign categoryPropiedades = attachmentFileEntryServiceUtil.getCPAttachmentFileEntries(classNameAssetCategoryId, category.categoryId, 0, 0, -1, -1)  /> 
302											<#list categoryPropiedades as categoryPropiedad> 
303												<#assign fileEntry =  categoryPropiedad.fetchFileEntry() /> 
304												<#assign categoryIcon = dlUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "") /> 
305												<#if categoryIcon != ""> 
306													<#assign categoryIconVisibility = "visible"> 
307												</#if> 
308											</#list> 
309											<li> 
310												<div class="category-icon-container"> 
311													<img class="${categoryIconVisibility}" style="max-width: 500px;" src="${categoryIcon}" loading=”lazy”/> 
312												</div> 
313												${category.name} 
314											</li> 
315										</#if> 
316									</#list> 
317								</ul> 
318							</div> 
319						</#if> 
320					</#list> 
321					   
322			</div> 
323		</div> 
324		 
325		<!-- Consejo legal --> 
326		<#-- 
327		<#list categories as category> 
328			<#if category.name = "Afecciones de invierno"> 
329				<div class="legal-advice"> 
330					<div class="legal-advice-item"> 
331						<svg xmlns="http://www.w3.org/2000/svg" width="28" height="24" viewBox="0 0 28 24" fill="none"> 
332							<path d="M11.9526 14.7343C12.0617 13.5055 12.9929 12.7305 13.5999 11.7786C13.7355 11.5635 13.7355 11.5635 14.0478 11.1656C14.3248 9.82483 15.368 9.76883 16.423 9.6333C18.698 9.34155 20.9671 8.99677 23.2362 8.66671C23.3835 8.64608 23.5191 8.55471 23.6605 8.4958L23.6045 8.23646L15.0292 9.4653C15.0056 8.0479 14.4398 7.70605 13.1432 8.25414C11.9526 8.75805 11.3014 9.73052 10.877 10.9063L10.6236 10.9152L9.29453 2.02152C11.8112 1.63549 14.148 1.27299 16.4878 0.922333C18.5035 0.618833 20.525 0.347708 22.5378 0.0294577C23.0328 -0.0501048 23.2479 0.00883245 23.3599 0.574614C24.5033 6.42418 25.6821 12.2678 26.849 18.1143C27.073 19.2341 27.2881 20.3569 27.5209 21.5475L12.7247 23.6545L11.9732 19.0927C11.8288 18.2116 11.7434 17.3187 11.5253 16.4552C11.4372 16.1563 11.4303 15.8392 11.5054 15.5367C11.5805 15.2342 11.7349 14.9573 11.9526 14.7343C12.2208 14.811 12.0057 15.1115 12.2561 15.0761C15.9338 14.5575 20.1243 13.8649 23.7961 13.3168C24.0289 13.2815 24.2528 13.1724 24.4827 13.0988L24.4296 12.8866C24.2145 12.8954 23.9994 12.8896 23.7872 12.919C21.7981 13.2078 19.809 13.4907 17.8227 13.7972C15.866 14.0977 13.9094 14.422 11.9526 14.7343ZM25.3167 17.8226L25.2489 17.4395C21.1439 18.1203 17.0036 18.5711 12.9074 19.2872L12.9605 19.6202L25.3167 17.8226ZM22.803 4.00183L22.7499 3.6394L10.3702 5.42518L10.4232 5.79058L22.803 4.00183Z" fill="white"/> 
333							<path d="M8.66387 2.23077C8.75231 2.48127 8.93793 2.74352 8.9114 2.98221C8.80237 3.99002 8.58724 4.98605 8.49296 5.99393C8.43109 6.64808 8.45465 7.31999 8.55484 7.96833C8.57546 8.09799 9.11771 8.14808 9.56265 8.27477L10.2139 11.979C11.1569 11.7285 11.5017 11.0949 11.8082 10.4142C11.9907 9.96286 12.284 9.5648 12.661 9.2568C13.038 8.9488 13.4866 8.7408 13.9653 8.65199C14.0773 8.62843 14.204 8.66374 14.5458 8.68733C14.1244 9.5478 13.8444 10.3612 13.3701 11.039C12.5243 12.2471 11.655 13.4171 11.1245 14.8256C10.7237 15.8954 9.73949 16.4759 8.79062 17.0594C8.23128 17.4015 7.72243 17.8201 7.27887 18.303C6.89581 18.7273 6.49503 18.9866 5.95281 18.854C5.13821 18.6626 4.33615 18.4216 3.55112 18.1321C2.99121 17.917 2.92343 17.3895 3.33596 16.7824C4.69449 14.7815 5.23671 12.4918 5.72003 10.1755C5.77009 9.93977 5.84378 9.60677 6.01174 9.51833C6.63649 9.1883 6.63649 8.61955 6.77203 8.04493C7.15512 6.44183 7.60599 4.85346 8.04215 3.26511C8.13349 2.93211 8.27496 2.61386 8.39581 2.28968C8.48418 2.26611 8.57253 2.24846 8.66387 2.23077Z" fill="white"/> 
334							<path d="M2.55506 18.1203C3.27115 19.0603 4.51178 19.1723 5.6699 19.5023C7.22878 19.9502 7.70618 18.4562 8.64328 17.8403C9.22384 18.2587 9.31221 18.6713 8.86728 19.1664C8.73171 19.3167 8.63446 19.5052 8.4989 19.6556C7.72978 20.5013 7.23174 21.4207 7.14334 22.623C7.06084 23.7104 6.68071 23.9137 5.59034 23.9049C4.41453 23.8961 3.24168 23.8961 2.06884 23.8401C1.69106 23.8104 1.32365 23.702 0.990275 23.5218C0.565932 23.3038 0.365556 22.9384 0.598338 22.4374C0.854713 21.8833 1.08753 21.3205 1.33799 20.7665C1.73878 19.8795 2.15134 18.9955 2.55506 18.1203Z" fill="white"/> 
335						</svg> 
336						<span><@liferay.language key="cofares.product.disclaimer1"/></span> 
337					</div> 
338					<div class="legal-advice-item"> 
339						<svg xmlns="http://www.w3.org/2000/svg" width="22" height="23" viewBox="0 0 22 23" fill="none"> 
340							<path d="M10.9523 22.581H3.57533C3.34299 22.581 3.10774 22.5926 2.87829 22.5694C0.804576 22.3574 -0.0347542 21.0417 0.848187 19.1423C2.58084 15.419 4.37401 11.7242 6.22696 8.05939C7.0576 6.57818 6.96758 5.96827 7.02277 4.50742C7.01985 3.19758 7.27544 2.32335 6.5842 1.28943C6.25018 0.78695 6.77589 0.0347497 7.41774 0.0260336C9.79929 -0.00300968 12.1808 -0.0146207 14.5595 0.0347499C15.3785 0.052182 15.6747 0.984463 15.1984 1.66986C14.9851 1.99285 14.849 2.36049 14.8005 2.74446C14.4839 5.19279 15.1752 7.38265 16.3369 9.54057C17.8907 12.4275 19.2354 15.4218 20.6527 18.3813C20.8815 18.8726 21.0643 19.384 21.1987 19.909C21.5356 21.1608 20.9054 22.1889 19.6362 22.4619C19.2354 22.549 18.8172 22.5751 18.4048 22.5781C15.9216 22.5868 13.4355 22.581 10.9523 22.581ZM10.9668 22.1947V22.2237C11.536 22.2237 12.1053 22.2295 12.6745 22.2237C14.9254 22.2005 17.1762 22.215 19.4242 22.1279C20.4988 22.0872 21.1029 21.2566 20.8909 20.1936C20.7361 19.4647 20.4923 18.7575 20.1648 18.088C18.7794 15.1721 17.4609 12.2184 15.9129 9.39249C14.7221 7.22006 14.1935 4.99826 14.4636 2.57026C14.5013 2.23043 14.7453 1.91677 14.8586 1.57987C14.9516 1.30397 15.0996 0.984494 15.0299 0.73761C14.9719 0.534276 14.635 0.272948 14.4171 0.270022C12.1394 0.23371 9.86116 0.230846 7.58328 0.261306C6.93272 0.270022 6.66843 0.949629 6.9734 1.52467C7.16217 1.88481 7.32195 2.30305 7.34225 2.70384C7.39451 3.71167 7.39159 4.72237 7.34517 5.73013C7.33196 6.21577 7.22444 6.69417 7.02859 7.13872C5.89008 9.54349 4.70805 11.9279 3.5376 14.3182C2.76502 15.8953 1.90536 17.4345 1.22865 19.0493C0.496741 20.7978 0.946929 22.1628 3.04384 22.186C5.68678 22.218 8.32676 22.1947 10.9668 22.1947Z" fill="white"/> 
341							<path d="M3.85412 15.1198C5.00711 12.7499 6.08753 10.438 7.25216 8.16977C7.75172 7.19684 8.03054 6.22966 7.96371 5.13184C7.90565 4.15308 7.98114 3.16564 7.93466 2.18395C7.92016 1.85287 7.78366 1.5276 7.66459 1.15872C7.65664 1.13541 7.65449 1.11049 7.65818 1.0861C7.66188 1.06174 7.6714 1.03861 7.68593 1.01871C7.70044 0.998754 7.71956 0.982615 7.74165 0.971651C7.76367 0.960625 7.78806 0.95505 7.8127 0.95545H13.9844C14.1644 0.95545 14.2719 1.16744 14.1529 1.30394C13.8537 1.64377 13.9118 2.07647 13.8508 2.48889C13.4006 5.58492 14.5391 8.25108 15.9593 10.8737C16.6941 12.23 17.3127 13.6502 18.0243 15.1198L3.85412 15.1198ZM11.3821 1.92546C11.3821 2.64862 11.3211 3.44732 11.3676 4.03109C11.5128 5.83177 11.7045 7.31587 12.7646 8.75932C13.9873 10.4235 15.0212 12.2242 16.1394 13.9668C15.1665 11.684 14.0948 9.45923 13.0579 7.2171C12.8693 6.80002 12.7637 6.35018 12.7472 5.89275C12.7065 4.58291 12.7327 3.27014 12.7327 1.92546H11.3821Z" fill="white"/> 
342						</svg> 
343						<span><@liferay.language key="cofares.product.disclaimer2"/></span> 
344					</div> 
345					<div class="legal-advice-item"> 
346						<svg xmlns="http://www.w3.org/2000/svg" width="17" height="26" viewBox="0 0 17 26" fill="none"> 
347							<path d="M6.95176 0.600912C6.19983 0.974441 6.01397 1.54457 6.41191 2.24416C6.48319 2.14359 7.04607 1.34167 7.04062 0.956303C7.04062 0.954815 7.04071 0.953327 7.0409 0.951851L6.95176 0.600912Z" fill="white"/> 
348							<path fill-rule="evenodd" clip-rule="evenodd" d="M6.44838 2.30598C6.47413 2.3481 6.50194 2.39067 6.53183 2.43368L6.68853 2.50016L6.85857 2.48867C6.86882 2.43871 6.88923 2.38178 6.92987 2.32731L6.90408 2.3271C7.12356 2.01474 7.48768 2.05144 7.93284 2.0963L7.97573 2.10061C8.01028 2.10429 8.02978 2.1158 8.03813 2.13254H8.71921C8.94479 1.95351 9.26536 1.98534 9.64268 2.0228L9.69508 2.02799C9.76935 2.03569 9.77604 2.07862 9.75185 2.13254H9.81715L9.8433 2.14126L9.84389 2.14185C9.85045 2.14834 9.89496 2.19244 9.93794 2.28062C9.96416 2.33441 9.98981 2.40461 10.0059 2.49268C10.0072 2.49905 10.014 2.55931 10.0053 2.64357C10.0631 2.61313 10.0519 2.50922 10.0421 2.41899C10.034 2.3433 10.0268 2.27723 10.0623 2.27222L10.0669 2.27191C10.0953 2.19698 10.1185 2.12405 10.1363 2.05315C9.68191 1.7133 9.37433 1.01708 9.31182 0.872038C9.0143 0.915464 8.71059 0.864677 8.44341 0.726821C8.25696 0.869297 8.04096 0.968253 7.81136 1.01652C7.58169 1.06475 7.34417 1.06105 7.11614 1.00564C7.07838 1.4529 6.49462 2.26615 6.4685 2.30095L6.44838 2.30598Z" fill="white"/> 
349							<path d="M10.1536 1.97681C10.2647 1.42547 10.0408 1.00106 9.4657 0.703596C9.40183 0.671641 9.35253 0.611748 9.30288 0.551425C9.27577 0.518492 9.24856 0.485426 9.21881 0.456713C8.57989 -0.141585 7.80151 -0.150302 7.15095 0.42767C7.13253 0.445109 7.11541 0.464815 7.09829 0.484519C7.07202 0.514766 7.04574 0.54501 7.01479 0.56705C7.01714 0.570485 7.01902 0.574391 7.02024 0.578685L7.08206 0.822074C7.14593 0.667083 7.30613 0.404795 7.6824 0.267956C7.70273 0.25924 7.72309 0.270851 7.72888 0.288283C7.73467 0.305715 7.72595 0.328937 7.70855 0.334758C7.58856 0.375967 7.47814 0.440891 7.38381 0.525742C7.28953 0.610562 7.21327 0.713553 7.15962 0.828495C7.33678 0.694889 7.73759 0.494512 8.44335 0.639698C8.45367 0.641168 8.46175 0.647131 8.46682 0.655311C8.53448 0.692446 8.88451 0.864236 9.32632 0.793655C9.34373 0.79076 9.35823 0.799476 9.36695 0.816877C9.36977 0.825281 9.6858 1.60595 10.1536 1.97681Z" fill="white"/> 
350							<path fill-rule="evenodd" clip-rule="evenodd" d="M9.86716 3.00235C9.86138 3.00969 9.85537 3.01697 9.84912 3.02417C9.72134 3.17231 9.52382 3.25073 9.26533 3.25941L9.26303 3.25957C9.24503 3.26096 9.12882 3.26992 8.99878 3.21553C8.98662 3.29187 8.95638 3.34814 8.90808 3.38436C8.85002 3.42791 8.78029 3.42791 8.74835 3.42498C8.67576 3.49182 8.59735 3.52662 8.5189 3.52662H8.49857C8.42025 3.51803 8.34778 3.48079 8.29524 3.42209C8.1965 3.41916 8.12098 3.38723 8.07454 3.32914C8.03694 3.2814 8.02526 3.22576 8.02301 3.18121C7.93289 3.2388 7.81871 3.26813 7.68251 3.26813L7.59535 3.26523C7.59535 3.26523 7.0261 3.33201 6.86055 2.65243L6.58071 2.53276C6.54503 2.67015 6.52756 2.79934 6.53244 2.92286C6.53334 2.92371 6.53426 2.92456 6.53519 2.9254C6.58745 2.9748 6.66008 2.98059 6.6862 2.97188C6.70655 2.96895 6.72688 2.97767 6.73267 2.9951C6.73551 3.00434 6.73467 3.01429 6.73036 3.02297C6.72599 3.0316 6.71853 3.03828 6.70945 3.04158L6.66011 3.0445C6.61814 3.04392 6.57719 3.0336 6.54038 3.01471C6.56897 3.22627 6.66925 3.42237 6.86344 3.61656C7.00986 3.76298 7.02102 3.79406 7.0584 3.89823C7.06742 3.92335 7.07796 3.95272 7.09229 3.98899L7.09287 3.98839L7.09269 3.99C7.10373 4.0179 7.11701 4.04986 7.13355 4.08707C7.1384 4.09776 7.128 4.10325 7.11082 4.10896C7.2621 4.28607 7.86397 4.96257 8.23141 5.03099L8.24884 5.03971C8.26335 5.05421 8.60605 5.36208 8.9691 5.03971C9.21077 4.82178 9.39173 4.54613 9.49577 4.23969C9.51004 4.15335 9.51754 4.06936 9.52478 3.98843C9.54236 3.79161 9.55833 3.61291 9.66611 3.46266L9.83455 3.10545C9.84695 3.06283 9.85766 3.02973 9.86716 3.00235ZM7.55761 4.08713C7.55468 4.10746 7.57211 4.12489 7.59244 4.12489C7.60987 4.12489 7.62731 4.10749 7.62731 4.08716C7.62731 4.08423 7.64474 3.72121 7.89741 3.65151C7.91777 3.64858 7.92935 3.62826 7.92356 3.6079C7.92063 3.58757 7.90031 3.57599 7.87995 3.58178C7.57793 3.66602 7.55761 4.0697 7.55761 4.08713ZM9.03007 3.97388C8.34174 4.17429 7.88866 3.97388 7.88866 3.97388C8.13844 4.31368 8.51311 4.23817 8.51311 4.23817C8.96619 4.19169 9.03007 3.97388 9.03007 3.97388ZM9.21015 4.08137L9.28274 4.09295C9.29842 4.00302 9.29263 3.91068 9.26586 3.8234C9.2391 3.73605 9.19216 3.65631 9.12881 3.59056L9.07947 3.64282C9.13402 3.7006 9.17427 3.77039 9.19694 3.84656C9.21967 3.92269 9.22416 4.00314 9.21015 4.08137Z" fill="white"/> 
351							<path d="M9.51861 4.39535C9.40799 4.66239 9.2374 4.90204 9.01845 5.0949C8.87615 5.21397 8.73965 5.25755 8.61769 5.25755C8.40903 5.25755 8.24827 5.13382 8.20717 5.10219L8.20526 5.10072C7.82519 5.01929 7.25422 4.39036 7.07349 4.18014C7.06358 4.32498 7.06623 4.48995 7.07747 4.66407C7.13833 4.75802 7.7511 5.66835 8.08909 5.75422H8.69025C8.78862 5.69059 9.69304 5.08572 9.80124 4.56444C9.77233 4.43953 9.74101 4.34199 9.71355 4.26952C9.68999 4.28851 9.6595 4.30644 9.62649 4.32585C9.59159 4.34637 9.55388 4.36855 9.51861 4.39535Z" fill="white"/> 
352							<path d="M9.79937 4.28978C9.81664 4.3067 9.8333 4.32353 9.84962 4.34C9.91511 4.40613 9.97505 4.46665 10.0466 4.50529L10.1973 4.58485C10.2631 4.61957 10.3289 4.6543 10.3947 4.689C10.6 4.90343 10.7728 5.14869 10.9063 5.4173C11.066 5.76585 11.0718 6.02432 11.0718 6.06207C11.0079 6.26827 10.5287 6.65745 10.5229 6.66037L10.4619 6.70977L10.9353 6.81138L10.7901 7.35741C10.2227 8.50064 9.93242 10.1707 9.78325 11.5035C9.78264 11.5058 9.78231 11.5082 9.78231 11.5106L9.78233 11.5117L9.77067 11.6181L9.94163 6.34834C10.0531 5.90662 9.99502 5.30653 9.93772 4.9252C9.90365 4.63604 9.84829 4.42855 9.79937 4.28978Z" fill="white"/> 
353							<path fill-rule="evenodd" clip-rule="evenodd" d="M10.5784 4.78576C11.1395 5.081 11.7026 5.37307 12.2742 5.64669C12.9015 5.94584 13.1194 6.46862 13.1803 7.10761C13.2273 7.60124 13.276 8.09459 13.3248 8.58783C13.4297 9.64995 13.5345 10.7119 13.6218 11.7748C13.6536 12.1589 13.6459 12.5458 13.6379 12.9475C13.6342 13.132 13.6305 13.3197 13.6305 13.5116L12.2087 13.5112C12.1883 12.7989 12.1053 11.8454 12.1028 11.8301C11.9384 11.175 11.9483 9.73626 11.9489 9.65532L11.9489 9.65186C11.9489 9.6315 11.9344 9.61407 11.914 9.61407C11.8966 9.61407 11.8792 9.62861 11.8792 9.64894L11.8792 9.65173C11.8788 9.72557 11.8711 11.179 12.036 11.8388C12.0386 11.8515 12.1216 12.8033 12.1419 13.5112L9.70948 13.5105L9.71548 13.3433C9.73145 12.9738 9.76811 12.3178 9.85266 11.5454H10.2005C10.2209 11.5454 10.2354 11.528 10.2354 11.5106C10.2354 11.4932 10.2209 11.4757 10.2005 11.4757H9.86039C9.94423 10.7286 10.0729 9.87911 10.2702 9.07736L10.2702 9.07965C10.2706 9.08951 10.2717 9.13404 10.2734 9.20349C10.2825 9.5844 10.3097 10.7143 10.3515 10.982L10.3533 10.9855C10.3731 11.0261 10.559 11.406 11.0776 11.406L11.1066 11.406L11.1077 11.4058C11.1376 11.401 11.5699 11.3306 11.6671 10.9616V9.04479C11.6671 9.02735 11.6526 9.00992 11.6323 9.00992L11.5162 9.01272V8.75728C11.5162 8.73985 11.5017 8.72242 11.4814 8.72242H10.8278V8.69044C10.8278 8.67301 10.8133 8.65558 10.793 8.65558H10.5635V8.08523C10.6527 7.83431 10.7512 7.5965 10.8598 7.3778L11.0253 6.75046L10.6245 6.66622C10.761 6.55295 11.0892 6.25962 11.1415 6.07664V6.06793L11.1415 6.06685C11.1417 6.04464 11.1436 5.76938 10.9701 5.38832C10.892 5.21665 10.7695 5.00742 10.5784 4.78576ZM11.9169 8.11836H11.914C11.8937 8.11543 11.8792 8.098 11.8821 8.07767C11.9605 7.28768 12.5675 6.22765 12.5733 6.21893C12.5849 6.2015 12.6052 6.19571 12.6227 6.20442C12.6401 6.216 12.6459 6.23633 12.6372 6.25376L12.6332 6.26093C12.5805 6.35508 12.0269 7.34425 11.9546 8.08349C11.9534 8.09276 11.9489 8.10129 11.942 8.10767C11.9351 8.11404 11.9263 8.11774 11.9169 8.11836Z" fill="white"/> 
354							<path d="M9.63675 13.5105L9.64286 13.3403L9.86477 6.47223L9.53833 6.95953C9.53248 6.96825 9.5209 6.97404 9.50926 6.97693C9.50365 6.97708 9.49804 6.97582 9.49296 6.97327C9.48791 6.97077 9.48351 6.96701 9.48021 6.96242L8.73383 5.90525C8.73099 6.11386 8.7227 6.56329 8.70098 6.78606L8.70188 6.78817C8.8674 7.32841 9.43376 12.4835 9.45698 12.7014V12.713C9.37639 13.0461 9.06021 13.359 8.88657 13.5103L9.63675 13.5105Z" fill="white"/> 
355							<path d="M8.7704 13.5103L8.74361 13.5103C8.51818 13.2321 8.23989 12.8253 8.14407 12.6853L8.11523 12.6433C8.08349 12.3211 8.10131 11.1319 8.11204 10.6161H8.65246C8.67282 10.6161 8.68732 10.5986 8.68732 10.5812C8.68732 10.5638 8.67282 10.5464 8.65246 10.5464H8.11353C8.11583 10.4427 8.11759 10.3792 8.11812 10.375C8.12102 9.70396 8.22098 7.19976 8.2368 6.8376H8.64029C8.81424 7.52034 9.36133 12.4873 9.38445 12.6985C9.29271 13.0571 8.90293 13.4024 8.7704 13.5103Z" fill="white"/> 
356							<path d="M8.65018 13.5102L7.98745 13.51V9.81735L7.9871 9.81396C7.9736 9.68578 7.77797 7.8278 7.53171 6.94946C7.7856 6.67117 7.97459 6.19973 8.06291 5.95758L8.16458 6.80563C8.16458 6.80913 8.16528 6.81252 8.16654 6.81569C8.15501 7.06469 8.0511 9.68887 8.04556 10.3779C8.04506 10.3908 8.04354 10.4543 8.04157 10.5526C8.03208 10.5592 8.02515 10.5702 8.02515 10.5812C8.02515 10.5923 8.03099 10.6033 8.04045 10.6099C8.03058 11.1262 8.0131 12.3409 8.04556 12.6607L8.05135 12.6781C8.24115 12.9625 8.44086 13.24 8.65018 13.5102Z" fill="white"/> 
357							<path fill-rule="evenodd" clip-rule="evenodd" d="M7.9148 13.51V11.8068C7.6389 10.4708 6.06185 7.20345 6.04442 7.17151L6.04155 7.1628C6.01248 7.02343 6.37261 6.72715 6.57594 6.57035H6.2913V5.19952C6.2913 5.06166 6.38181 4.87986 6.49908 4.7022C6.21579 4.87736 5.88666 4.95273 5.55649 5.01356C4.36282 5.23427 3.95911 6.03005 3.86905 7.13662C3.83504 7.55779 3.76218 7.97627 3.68927 8.39506C3.63146 8.7271 3.57362 9.05933 3.53507 9.39325C3.42766 10.3397 3.33581 11.289 3.24273 12.251C3.20242 12.6676 3.16188 13.0865 3.11975 13.5087L7.9148 13.51ZM5.49693 7.35486C5.50259 7.3585 5.50918 7.36041 5.5159 7.36035L5.5304 7.35742C5.54784 7.3487 5.55652 7.32545 5.54784 7.30802C5.46659 7.12986 4.97878 5.87379 4.87986 5.61906L4.86241 5.57417C4.85662 5.55673 4.83626 5.54802 4.81593 5.55381C4.79847 5.55966 4.78689 5.58288 4.7956 5.60028C4.81886 5.66419 5.39098 7.13958 5.48393 7.33999C5.48673 7.34609 5.49123 7.35126 5.49693 7.35486ZM5.29816 13.2852C5.30683 13.291 5.31555 13.2968 5.32707 13.2968C5.33 13.2968 5.33298 13.2968 5.33585 13.2909C5.35035 13.2851 5.35907 13.2764 5.362 13.2619C5.59318 12.1115 5.78613 9.58833 5.81213 9.24832L5.81508 9.21037C5.81794 9.19294 5.80344 9.17554 5.78311 9.17261C5.76278 9.16682 5.74535 9.18422 5.74242 9.20458L5.65819 9.88998C5.43805 9.63314 5.45381 9.16771 5.45487 9.13649L5.45492 9.13488C5.45492 9.11456 5.44041 9.09712 5.42005 9.09712C5.40265 9.09712 5.38229 9.11163 5.38229 9.13196L5.38219 9.13729C5.38073 9.20014 5.36834 9.73533 5.66111 9.99744L5.67855 10.0062C5.603 10.9036 5.46363 12.3412 5.30677 13.1689C5.16735 12.9627 4.76659 12.2482 4.62717 10.7903C4.62424 10.7699 4.60681 10.7526 4.58648 10.7584C4.56615 10.7613 4.55165 10.7787 4.55451 10.799C4.72425 12.5711 5.26441 13.2433 5.29722 13.2841L5.29816 13.2852Z" fill="white"/> 
358							<path d="M6.68367 4.56712C6.51879 4.78491 6.36389 5.03367 6.36389 5.19955V6.49776H6.79954L6.70949 6.56453C6.41326 6.77658 6.1054 7.05537 6.11125 7.1425C6.17802 7.279 7.51112 10.0526 7.9148 11.5048V9.82027L7.91318 9.80546C7.8933 9.62173 7.69542 7.79272 7.45896 6.95492C7.45762 6.95273 7.45661 6.95037 7.45599 6.94789C7.45208 6.93618 7.4318 6.87376 7.40183 6.77504C7.3775 6.70827 7.35289 6.65367 7.32814 6.61393L7.32229 6.60235C7.31556 6.57762 7.25793 6.33977 7.19283 6.00746C7.08578 5.56137 6.99022 5.04717 7.00552 4.6795C6.99407 4.50441 6.99094 4.33738 6.99995 4.18886C6.99459 4.19473 6.989 4.2009 6.98317 4.20734C6.89588 4.35344 6.79488 4.47115 6.68367 4.56712Z" fill="white"/> 
359							<path d="M6.68853 2.50016L6.84897 2.56822C6.84999 2.5455 6.85251 2.51824 6.85857 2.48867L6.68853 2.50016Z" fill="white"/> 
360							<path d="M6.93338 2.48374C6.91806 2.54321 6.92051 2.59378 6.92138 2.61176L6.9216 2.61747C7.0726 3.25063 7.57216 3.19544 7.59249 3.18965C7.81326 3.20705 7.97002 3.15774 8.06876 3.04736C8.25174 2.83824 8.17915 2.46942 8.17622 2.4665C8.17336 2.45485 8.17622 2.44327 8.18494 2.43745C8.18823 2.43286 8.19257 2.42911 8.19769 2.42661C8.20274 2.42405 8.20831 2.42282 8.21398 2.42295H8.65545C8.67578 2.42295 8.69028 2.44035 8.69028 2.45778C8.69028 2.7395 8.75998 2.94569 8.89648 3.06766C9.0562 3.21001 9.25661 3.18676 9.25661 3.18676C9.49771 3.18097 9.67772 3.11124 9.791 2.97763C9.95646 2.78696 9.93512 2.52589 9.93345 2.50548L9.93335 2.50422C9.92124 2.4271 9.89487 2.35318 9.8559 2.28617L9.62444 2.30182C9.60392 2.32337 9.58436 2.34266 9.56838 2.35795L9.62253 2.38226C9.66608 2.40259 9.67775 2.45781 9.64871 2.49261C9.52961 2.62911 9.15208 2.87599 8.84708 2.50133C8.84708 2.50133 8.84036 2.43034 8.85694 2.35371L8.10383 2.40462C8.11523 2.46019 8.11523 2.50428 8.11523 2.50428C7.76089 2.92247 7.4327 2.70177 7.2991 2.57398C7.26426 2.54201 7.27298 2.4839 7.31366 2.46067L7.31888 2.45768L6.93338 2.48374Z" fill="white"/> 
361							<path d="M8.10383 2.40462L8.85694 2.35371C8.86302 2.32564 8.87224 2.29676 8.88604 2.27039C8.72471 2.2603 8.60018 2.2603 8.60018 2.2603C8.61404 2.24056 8.62842 2.22218 8.64338 2.20508H8.02966C8.02601 2.21293 8.02171 2.22102 8.01687 2.22925C8.06725 2.27512 8.09184 2.34623 8.10383 2.40462Z" fill="white"/> 
362							<path d="M9.62444 2.30182L9.8559 2.28617C9.8394 2.25781 9.82064 2.23068 9.79975 2.20508H9.70731C9.68242 2.23857 9.65252 2.27232 9.62444 2.30182Z" fill="white"/> 
363							<path d="M7.31888 2.45768L6.93338 2.48374C6.94368 2.44382 6.96204 2.39977 6.99422 2.35901C7.00259 2.34863 7.01158 2.33875 7.02118 2.32938C7.13433 2.33297 7.3124 2.34224 7.47776 2.36617L7.31888 2.45768Z" fill="white"/> 
364							<path fill-rule="evenodd" clip-rule="evenodd" d="M16.6364 25.9624H0.5V13.8979C0.55945 13.8941 0.619514 13.8891 0.679992 13.8841C0.805655 13.8737 0.933104 13.8631 1.06054 13.8631C2.44083 13.8622 3.82113 13.8626 5.20143 13.8629C8.78171 13.8637 12.362 13.8645 15.9423 13.8456C16.5493 13.8427 16.6945 14.017 16.6887 14.6036C16.6704 17.1044 16.672 19.6038 16.6737 22.1038V22.1068C16.6744 23.174 16.6751 24.2414 16.6742 25.309C16.6721 25.458 16.6615 25.6055 16.6503 25.7607C16.6456 25.8263 16.6408 25.8934 16.6364 25.9624ZM6.6659 18.3241C7.06671 16.9881 7.76083 16.4479 8.92259 16.5176C9.76485 16.567 10.3515 17.0084 10.5344 17.7287C10.6971 18.3589 10.3747 18.963 9.63993 19.4103C9.48346 19.5049 9.32957 19.6022 9.17567 19.6994C9.09823 19.7483 9.02067 19.7973 8.94289 19.8459C8.04544 20.4123 7.80148 21.0687 8.0832 22.1171H8.9516C8.65538 21.0367 9.31752 20.5836 10.0959 20.1858C10.4109 20.0264 10.7079 19.8336 10.9817 19.6107C11.2652 19.3971 11.4807 19.106 11.6023 18.7725C11.724 18.4391 11.7465 18.0776 11.6671 17.7316C11.4697 16.7064 10.6826 16.0065 9.44827 15.7741C7.636 15.4343 6.04438 16.4537 5.79463 18.1556L6.6659 18.3241ZM9.12004 24.2431V23.0872H7.89151V24.2431H9.12004Z" fill="white"/> 
365							<path d="M8.35368 0.698371C7.63362 0.575704 7.2608 0.832377 7.14484 0.935926C7.32376 0.975318 7.88451 1.05848 8.35368 0.698371Z" fill="white"/> 
366							<path d="M8.0967 3.12261C8.10511 3.11435 8.11322 3.10574 8.12103 3.09679C8.29239 2.90218 8.26914 2.60595 8.25463 2.49557H8.61769C8.62348 2.78021 8.70193 2.9922 8.85001 3.12291C8.87629 3.14591 8.90333 3.16514 8.9304 3.18119C8.92532 3.25291 8.90508 3.30224 8.86745 3.32914C8.81512 3.36687 8.74835 3.35236 8.74835 3.35236C8.73385 3.34944 8.72224 3.35236 8.71352 3.36108C8.6409 3.43078 8.56538 3.46268 8.50147 3.45689C8.40273 3.4511 8.33885 3.36687 8.33885 3.36687C8.333 3.35815 8.32142 3.35236 8.30978 3.35236C8.22554 3.35236 8.16456 3.32914 8.12973 3.28559C8.08216 3.22799 8.09284 3.14456 8.0967 3.12261Z" fill="white"/> 
367							<path d="M10.491 8.68755V9.03741L10.305 9.04189C10.2909 9.04189 10.2795 9.05035 10.2739 9.06235C10.3394 8.79765 10.4124 8.53826 10.4938 8.28959V8.67385C10.492 8.67799 10.491 8.6826 10.491 8.68755Z" fill="white"/> 
368							<path d="M10.7581 9.03098L10.5607 9.03573V8.72531H10.7581V9.03098Z" fill="white"/> 
369							<path d="M11.4436 8.79212V9.01447L10.8278 9.0293V8.79212H11.4436Z" fill="white"/> 
370							<path d="M10.7581 9.10113V9.43399C10.7581 9.44323 10.7618 9.4521 10.7683 9.45863C10.7749 9.46516 10.7837 9.46883 10.793 9.46883C10.8133 9.46883 10.8278 9.45136 10.8278 9.43396V9.09935L11.4813 9.08264H11.6004V10.9472C11.5103 11.2725 11.1037 11.3334 11.1037 11.3334C10.5896 11.3509 10.4241 10.9704 10.4212 10.9617C10.3832 10.7012 10.3553 9.52041 10.3471 9.17213L10.3457 9.11168L10.7581 9.10113Z" fill="white"/> 
371							<path d="M8.03103 5.80944C7.71933 5.68476 7.26941 5.07069 7.08855 4.80893C7.12451 5.21883 7.20009 5.66112 7.267 6.00213C7.34059 6.30827 7.41874 6.58169 7.46842 6.7498C7.48081 6.78367 7.4931 6.82041 7.50529 6.85972C7.73569 6.54007 7.91319 6.18545 8.03103 5.80944Z" fill="white"/> 
372							<path d="M9.82882 4.71155C9.83803 4.76176 9.84877 4.82365 9.8598 4.89434C9.89558 5.17019 9.91199 5.52502 9.88103 5.96915L9.86914 6.33704L9.51224 6.87237L8.75129 5.79777C8.91394 5.69031 9.62842 5.1966 9.82882 4.71155Z" fill="white"/> 
373							<path d="M8.23141 6.75912H8.6293C8.65252 6.50352 8.66127 5.96913 8.66127 5.82391H8.11816L8.23141 6.75912Z" fill="white"/> 
374						</svg> 
375						<span><@liferay.language key="cofares.product.disclaimer3"/></span> 
376					</div> 
377				</div> 
378				<#break> 
379			</#if> 
380		</#list> 
381		--> 
382		 
383</section> 
384 
385<!-- Como usarlo --> 
386 
387<#assign CUImages = [] /> 
388<#assign PTVEImages = [] /> 
389<#assign CUCounter = 0 /> 
390<#assign PTVECounter = 0 /> 
391 
392<#if imagenesSeccionComoUsarlo.getSiblings()?has_content> 
393	<#list imagenesSeccionComoUsarlo.getSiblings() as cur_imagenesSeccionComoUsarlo> 
394		<#if (cur_imagenesSeccionComoUsarlo.getData())?? && cur_imagenesSeccionComoUsarlo.getData() != ""> 
395			<#assign CUCounter = CUCounter + 1 /> 
396			<#assign CUImages = CUImages + [cur_imagenesSeccionComoUsarlo] /> 
397		</#if> 
398	</#list> 
399</#if> 
400<#if imagenesSeccionPorqueTeVaAEncantar.getSiblings()?has_content> 
401	<#list imagenesSeccionPorqueTeVaAEncantar.getSiblings() as cur_imagenesSeccionPorqueTeVaAEncantar> 
402		<#if (cur_imagenesSeccionPorqueTeVaAEncantar.getData())?? && cur_imagenesSeccionPorqueTeVaAEncantar.getData() != ""> 
403			<#assign PTVECounter = PTVECounter + 1 />	 
404			<#assign PTVEImages = PTVEImages + [cur_imagenesSeccionPorqueTeVaAEncantar] /> 
405		</#if> 
406	</#list> 
407</#if> 
408 
409<#-- Caso: textos sin imagenes --> 
410<#if comoUsarlo.getData()??  
411	&& comoUsarlo.getData() != "" 
412	&& porqueTeVaAEncantar.getData()??  
413	&& porqueTeVaAEncantar.getData() != "" 
414	&& CUCounter = 0  
415	&& PTVECounter = 0 > 
416 
417	<section class="product-info d-flex justify-content-center align-items-center"> 
418		<div class="product-info__section color-site w-50 d-flex align-items-center" style="min-height: 100%"> 
419			<div class="product-info__text "> 
420						<h2 class="product-info__title"> 
421								<@liferay.language key="cofares.product.comoUsarlo"/> 
422						</h2> 
423						<div class="product-info__description"> 
424								${comoUsarlo.getData()} 
425						</div> 
426				</div> 
427		</div> 
428		<div class="product-info__section w-50 d-flex align-items-center" style="min-height: 100%"> 
429			<div class="product-info__text color-white"> 
430					<h2 class="product-info__title"> 
431						<@liferay.language key="cofares.product.porQueTeVaAEncantar"/> 
432					</h2> 
433					<div class="product-info__description"> 
434						${porqueTeVaAEncantar.getData()} 
435					</div> 
436				</div> 
437		</div> 
438	</section> 
439 
440<#else> 
441 
442	<#if comoUsarlo.getData()?? & comoUsarlo.getData() != "" >	 
443		<#-- <#if imagenesSeccionComoUsarlo.getSiblings()?size = 3 > --> 
444		 
445		<#-- Caso: 3 imagenes de como usarlo --> 
446		<#if CUCounter = 3 || CUCounter gt 3> 
447			<section class="product-info d-flex color-site"> 
448				<div class="product-info__section w-50"> 
449					<div class="product-info__section d-flex h-50 justify-content-center align-items-center"> 
450						<div class="product-info__text"> 
451									<h2 class="product-info__title"> 
452									<@liferay.language key="cofares.product.comoUsarlo"/> 
453									</h2> 
454									<div class="product-info__description"> 
455										${comoUsarlo.getData()} 
456									</div> 
457							</div> 
458					</div> 
459					<div class="product-info__section product-info__section--images d-flex h-50"> 
460						<div class="product-info__image col-md-6"> 
461							<#if (CUImages[0].getData())?? && CUImages[0].getData() != ""> 
462								<img alt="${CUImages[0].getAttribute("alt")}" data-fileentryid="${CUImages[0].getAttribute("fileEntryId")}" src="${CUImages[0].getData()}" loading=”lazy”/> 
463							</#if> 
464						</div> 
465						<div class="product-info__image col-md-6"> 
466								<#if (CUImages[1].getData())?? && CUImages[1].getData() != ""> 
467									<img alt="${CUImages[1].getAttribute("alt")}" data-fileentryid="${CUImages[1].getAttribute("fileEntryId")}" src="${CUImages[1].getData()}" loading=”lazy”/> 
468								</#if> 
469						</div> 
470					</div> 
471				</div> 
472				<div class="product-info__section w-50 d-flex"> 
473					<div class="product-info__image w-100"> 
474							<#if (CUImages[2].getData())?? && CUImages[2].getData() != ""> 
475								<img alt="${CUImages[2].getAttribute("alt")}" data-fileentryid="${CUImages[2].getAttribute("fileEntryId")}" src="${CUImages[2].getData()}" loading=”lazy”/> 
476							</#if> 
477					</div> 
478				</div> 
479			</section> 
480 
481		<#-- Caso: 0 imagenes de como usarlo --> 
482		<#elseif CUCounter = 0 > 
483 
484			<section class="product-info"> 
485				<div class="product-info__text color-site text-center"> 
486					<h2 class="product-info__title"> 
487						<@liferay.language key="cofares.product.comoUsarlo"/> 
488					</h2> 
489					<div class="product-info__description"> 
490						${comoUsarlo.getData()} 
491					</div> 
492				</div> 
493			</section> 
494 
495		<#-- Caso: 1 imagen de como usarlo --> 
496		<#elseif CUCounter = 1 > 
497		 
498			<section class="product-info d-flex justify-content-center align-items-center color-site"> 
499				<div class="product-info__section w-50"> 
500					<div class="product-info__text"> 
501						<h2 class="product-info__title"> 
502							<@liferay.language key="cofares.product.comoUsarlo"/> 
503						</h2> 
504						<div class="product-info__description"> 
505							${comoUsarlo.getData()} 
506						</div> 
507					</div> 
508				</div> 
509				<div class="product-info__section w-50 d-flex"> 
510					<div class="product-info__image w-100"> 
511							<img alt="${CUImages[0].getAttribute("alt")}" data-fileentryid="${CUImages[0].getAttribute("fileEntryId")}" src="${CUImages[0].getData()}" loading=”lazy”/> 
512					</div> 
513				</div> 
514			</section> 
515 
516		<#-- Caso: 2 imagen de como usarlo --> 
517		<#elseif CUCounter = 2 > 
518 
519		<section class="product-info d-flex justify-content-center align-items-center color-site"> 
520				<div class="product-info__section w-50"> 
521					<div class="product-info__text"> 
522						<h2 class="product-info__title"> 
523							<@liferay.language key="cofares.product.comoUsarlo"/> 
524						</h2> 
525						<div class="product-info__description"> 
526							${comoUsarlo.getData()} 
527						</div> 
528					</div> 
529				</div> 
530				<div class="product-info__section w-50"> 
531					<div class="product-info__section product-info__section--images d-flex"> 
532						<div class="product-info__image col-md-6"> 
533							<#if (CUImages[0].getData())?? && CUImages[0].getData() != ""> 
534								<img alt="${CUImages[0].getAttribute("alt")}" data-fileentryid="${CUImages[0].getAttribute("fileEntryId")}" src="${CUImages[0].getData()}" loading=”lazy”/> 
535							</#if> 
536						</div> 
537						<div class="product-info__image col-md-6"> 
538								<#if (CUImages[1].getData())?? && CUImages[1].getData() != ""> 
539									<img alt="${CUImages[1].getAttribute("alt")}" data-fileentryid="${CUImages[1].getAttribute("fileEntryId")}" src="${CUImages[1].getData()}" loading=”lazy”/> 
540								</#if> 
541						</div> 
542					</div> 
543				</div> 
544			</section> 
545		</#if> 
546	</#if> 
547 
548	<!-- Por que te va a encantar --> 
549 
550	<#if porqueTeVaAEncantar.getData()?? && porqueTeVaAEncantar.getData() != "" > 
551	 
552	 
553		<#-- Caso: 3 imagenes de Por que te va a encantar --> 
554		<#if PTVECounter = 3 || PTVECounter gt 3> 
555		 
556			<section class="product-info d-flex"> 
557				<div class="product-info__section w-50 d-flex"> 
558					<div class="product-info__image w-100"> 
559							<#if (PTVEImages[2].getData())?? && PTVEImages[2].getData() != ""> 
560								<img alt="${PTVEImages[2].getAttribute("alt")}" data-fileentryid="${PTVEImages[2].getAttribute("fileEntryId")}" src="${PTVEImages[2].getData()}" loading=”lazy”/> 
561							</#if> 
562					</div> 
563				</div> 
564				<div class="product-info__section w-50"> 
565					<div class="product-info__section d-flex h-50 justify-content-center align-items-center"> 
566						<div class="product-info__text"> 
567									<h2 class="product-info__title"> 
568									<@liferay.language key="cofares.product.porQueTeVaAEncantar"/> 
569									</h2> 
570									<div class="product-info__description"> 
571										${porqueTeVaAEncantar.getData()} 
572									</div> 
573							</div> 
574					</div> 
575					<div class="product-info__section product-info__section--images d-flex h-50"> 
576						<div class="product-info__image col-md-6"> 
577							<#if (PTVEImages[0].getData())?? && PTVEImages[0].getData() != ""> 
578								<img alt="${PTVEImages[0].getAttribute("alt")}" data-fileentryid="${PTVEImages[0].getAttribute("fileEntryId")}" src="${PTVEImages[0].getData()}" loading=”lazy”/> 
579							</#if> 
580						</div> 
581						<div class="product-info__image col-md-6"> 
582								<#if (PTVEImages[1].getData())?? && PTVEImages[1].getData() != ""> 
583									<img alt="${PTVEImages[1].getAttribute("alt")}" data-fileentryid="${PTVEImages[1].getAttribute("fileEntryId")}" src="${PTVEImages[1].getData()}" loading=”lazy”/> 
584								</#if> 
585						</div> 
586					</div> 
587				</div> 
588			</section> 
589 
590		<#-- Caso: 0 imagenes de Por que te va a encantar --> 
591		<#elseif PTVECounter = 0 > 
592 
593			<section class="product-info"> 
594				<div class="product-info__text text-center"> 
595					<h2 class="product-info__title"> 
596						<@liferay.language key="cofares.product.porQueTeVaAEncantar"/> 
597					</h2> 
598					<div class="product-info__description"> 
599						${porqueTeVaAEncantar.getData()} 
600					</div> 
601				</div> 
602			</section> 
603 
604		<#-- Caso: 1 imagen de Por que te va a encantar --> 
605		<#elseif PTVECounter = 1 > 
606 
607			<section class="product-info d-flex justify-content-center align-items-center"> 
608				<div class="product-info__section w-50 d-flex"> 
609					<div class="product-info__image w-100"> 
610							<img alt="${PTVEImages[0].getAttribute("alt")}" data-fileentryid="${PTVEImages[0].getAttribute("fileEntryId")}" src="${PTVEImages[0].getData()}" loading=”lazy”/> 
611					</div> 
612				</div> 
613				<div class="product-info__section w-50"> 
614					<div class="product-info__text"> 
615						<h2 class="product-info__title"> 
616							<@liferay.language key="cofares.product.porQueTeVaAEncantar"/> 
617						</h2> 
618						<div class="product-info__description"> 
619							${porqueTeVaAEncantar.getData()} 
620						</div> 
621					</div> 
622				</div> 
623			</section> 
624 
625		<#-- Caso: 2 imagenes de Por que te va a encantar --> 
626		<#elseif PTVECounter = 2 > 
627 
628		<section class="product-info d-flex justify-content-center align-items-center"> 
629				<div class="product-info__section w-50"> 
630					<div class="product-info__section product-info__section--images d-flex"> 
631						<div class="product-info__image col-md-6"> 
632							<#if (PTVEImages[0].getData())?? && PTVEImages[0].getData() != ""> 
633								<img alt="${PTVEImages[0].getAttribute("alt")}" data-fileentryid="${PTVEImages[0].getAttribute("fileEntryId")}" src="${PTVEImages[0].getData()}" loading=”lazy”/> 
634							</#if> 
635						</div> 
636						<div class="product-info__image col-md-6"> 
637								<#if (PTVEImages[1].getData())?? && PTVEImages[1].getData() != ""> 
638									<img alt="${PTVEImages[1].getAttribute("alt")}" data-fileentryid="${PTVEImages[1].getAttribute("fileEntryId")}" src="${PTVEImages[1].getData()}" loading=”lazy”/> 
639								</#if> 
640						</div> 
641					</div> 
642				</div> 
643				<div class="product-info__section w-50"> 
644					<div class="product-info__text"> 
645						<h2 class="product-info__title"> 
646							<@liferay.language key="cofares.product.porQueTeVaAEncantar"/> 
647						</h2> 
648						<div class="product-info__description"> 
649							${porqueTeVaAEncantar.getData()} 
650						</div> 
651					</div> 
652				</div> 
653			</section> 
654		</#if> 
655	</#if> 
656</#if> 
657 
658<!-- Completa tu rutina --> 
659 
660<#if productosRelacionadosCategorias.getSiblings()?has_content> 
661<#if productosRelacionadosCategorias.getSiblings()[0]?has_content && productosRelacionadosCategorias.getSiblings()[0].getData() != ""> 
662<section class="cards-adt text-center"> 
663 
664    <p class="cards-adt__pretitle"> 
665			<@liferay.language key="cofares.product.completaRutina"/> 
666    </p> 
667   
668		<#if productosRelacionadosCategorias.getSiblings()?size lt 4> 
669			<div class="cards-adt__items-container row justify-content-center"> 
670		<#else> 
671			<div class="cards-adt__items-container row"> 
672		</#if> 
673			 
674				<#list productosRelacionadosCategorias.getSiblings() as cur_productosRelacionados> 
675				<#attempt> 
676					<#assign 
677						webContentData = jsonFactoryUtil.createJSONObject(cur_productosRelacionados.getData()) 
678					/> 
679					<#if webContentData.classPK?has_content && webContentData.classPK != ""> 
680						<#assign 
681							contentClassPK = webContentData.classPK?number 
682							contentClassName = webContentData.className 
683						/> 
684						<#if webContentData?? && webContentData.title??> 
685							<div class="cards-adt__item col-6 col-xl-3"> 
686								<a href="${cur_productosRelacionados.getFriendlyUrl()}" class="card--product"> 
687								  <button class="share-button" style="background-image: url(/documents/d/guest/share)"></button> 
688									<#if contentClassName == "com.liferay.journal.model.JournalArticle" > 
689										<#assign  
690											journalArticle = journalArticleLocalService.getLatestArticle(contentClassPK) 
691											ddmStructure = journalArticle.getDDMStructure() 
692											ddmForm = ddmStructure.getDDMForm() 
693											ddmFieldLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMFieldLocalService")    
694											ddmFormValues = ddmFieldLocalService.getDDMFormValues(ddmForm, journalArticle.getId()) 
695											ddmFormFieldValues = ddmFormValues.getDDMFormFieldValues() 
696											mainImage = true 
697											productCardDescription = "Descripcion" 
698											productCardImage = "/documents/d/guest/placeholder-aposan" 
699										/> 
700 
701										<#list ddmFormFieldValues as fieldName> 
702											<#if fieldName.getFieldReference() == 'descripcionCorta'> 
703												<#if fieldName.getValue().getString(locale)?has_content && fieldName.getValue().getString(locale) != "" > 
704													<#assign productCardDescription = fieldName.getValue().getString(locale)?replace('<[^>]+>','','r') /> 
705													<#if productCardDescription?length gt 100> 
706														<#assign productCardDescription = productCardDescription?substring(0, 100) + "..." /> 
707													</#if> 
708												</#if> 
709											</#if> 
710											<#if fieldName.getFieldReference() == 'imagenesSeccionPrincipalDetalle' && mainImage > 
711												<#if fieldName.getValue().getString(locale)?has_content && fieldName.getValue().getString(locale) != "" > 
712													<#assign  
713														mainImage = false 
714														valores = fieldName.getValue().getString(locale) 
715														mapaValores=valores?eval  
716													/> 
717													<#list mapaValores as k, v> 
718														<#if k == "url"> 
719															<#assign productCardImage = v /> 
720														</#if> 
721													</#list> 
722												</#if> 
723											</#if> 
724										</#list> 
725										<#assign mainImage = true /> 
726										<div class="card--product__image"> 
727											<img src="${productCardImage}" loading=”lazy”/> 
728											<i class="share-icon"></i> 
729										</div> 
730										<div class="card--product__text"> 
731											<h3> 
732												${webContentData.title} 
733											</h3> 
734											<p class="card--product__description"> 
735												${productCardDescription} 
736											</p> 
737											<p class="card--product__link-text" > 
738												<@liferay.language key="cofares.product.button.verProducto"/> 
739											</p> 
740										</div> 
741									</#if> 
742								</a> 
743							</div> 
744						</#if> 
745					</#if> 
746					<#recover> 
747					</#attempt> 
748				</#list> 
749			 
750		</div> 
751   
752</section> 
753</#if> 
754</#if> 
755 
756 
757<!-- Tabs --> 
758 
759<#assign  
760	tabCount = 1 
761	hasContent = false 
762	tabActive = true 
763/> 
764 
765<#if (descripcionLarga.getData())?? && descripcionLarga.getData() != ""> 
766        <#assign hasContent = true /> 
767</#if> 
768<#if (activos.getData())?? && activos.getData() != ""> 
769	<#assign hasContent = true /> 
770</#if> 
771<#if (composicion.getData())?? && composicion.getData() != ""> 
772	<#assign hasContent = true /> 
773</#if> 
774<#if (indicaciones.getData())?? && indicaciones.getData() != ""> 
775	<#assign hasContent = true /> 
776</#if> 
777<#if (contraindicaciones.getData())?? && contraindicaciones.getData() != ""> 
778	<#assign hasContent = true /> 
779</#if> 
780 
781<#if hasContent > 
782<section class="cards-adt product-tabs text-center mb-7"> 
783		<p class="cards-adt__pretitle"> 
784			<@liferay.language key="cofares.product.tabs.title"/> 
785		</p> 
786	 
787	<div class="cards-adt__tabs"> 
788	 
789 
790		<ul class="nav nav-tabs justify-content-center" id="myTab" role="tablist"> 
791		 
792			<#if (descripcionLarga.getData())?? && descripcionLarga.getData() != ""> 
793					<li class="nav-item" role="presentation"> 
794					    	<button class="nav-link active" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="true"> 
795									<@liferay.language key="cofares.product.tabs.descripcion"/> 
796								</button> 
797								<#assign tabActive = false /> 
798					</li> 
799					<#assign tabCount = tabCount + 1 /> 
800			</#if> 
801			<#if (activos.getData())?? && activos.getData() != ""> 
802					<li class="nav-item" role="presentation"> 
803							<#if tabActive > 
804					    	<button class="nav-link active" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="true"> 
805									<@liferay.language key="cofares.product.tabs.activos"/> 
806								</button> 
807								<#assign tabActive = false /> 
808							<#else> 
809								<button class="nav-link" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="false"> 
810									<@liferay.language key="cofares.product.tabs.activos"/> 
811								</button> 
812							</#if> 
813					</li> 
814					<#assign tabCount = tabCount + 1 /> 
815			</#if> 
816			<#if (composicion.getData())?? && composicion.getData() != ""> 
817					<li class="nav-item" role="presentation"> 
818						<#if tabActive > 
819					    	<button class="nav-link active" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="true"> 
820									<@liferay.language key="cofares.product.tabs.composicion"/> 
821								</button> 
822								<#assign tabActive = false /> 
823						<#else> 
824						    <button class="nav-link" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="false"> 
825									<@liferay.language key="cofares.product.tabs.composicion"/> 
826								</button> 
827						</#if> 
828					</li>		 
829					<#assign tabCount = tabCount + 1 /> 
830			</#if> 
831			<#if (indicaciones.getData())?? && indicaciones.getData() != ""> 
832					<li class="nav-item" role="presentation"> 
833						<#if tabActive > 
834					    	<button class="nav-link active" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="true"> 
835									<@liferay.language key="cofares.product.tabs.para"/> 
836								</button> 
837								<#assign tabActive = false /> 
838						<#else> 
839						    <button class="nav-link" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="false"> 
840									<@liferay.language key="cofares.product.tabs.para"/> 
841								</button> 
842						</#if> 
843					</li>		 
844					<#assign tabCount = tabCount + 1 /> 
845			</#if> 
846			<#if (contraindicaciones.getData())?? && contraindicaciones.getData() != ""> 
847					<li class="nav-item" role="presentation"> 
848						<#if tabActive > 
849					    	<button class="nav-link active" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="true"> 
850									<@liferay.language key="cofares.product.tabs.advertencias"/> 
851								</button> 
852								<#assign tabActive = false /> 
853						<#else> 
854						    <button class="nav-link" id="item${tabCount}-tab" data-bs-toggle="tab" data-bs-target="#item${tabCount}" type="button" role="tab" aria-controls="item${tabCount}" aria-selected="false"> 
855									<@liferay.language key="cofares.product.tabs.advertencias"/> 
856								</button> 
857						</#if> 
858					</li>		 
859					<#assign tabCount = tabCount + 1 /> 
860			</#if> 
861			 
862		</ul> 
863		 
864		<#assign  
865			tabCount = 1  
866			tabActive = true 
867		/> 
868 
869		<div class="tab-content" id="myTabContent"> 
870		 
871			<#if (descripcionLarga.getData())?? && descripcionLarga.getData() != ""> 
872						<div class="tab-pane fade show active" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
873							${descripcionLarga.getData()} 
874						</div> 
875						<#assign  
876							tabCount = tabCount + 1  
877							tabActive = false 
878						/> 
879			</#if> 
880			<#if (activos.getData())?? && activos.getData() != ""> 
881				<#if tabActive > 
882						<div class="tab-pane fade show active" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
883							${activos.getData()} 
884						</div> 
885						<#assign tabActive = false /> 
886				<#else >	 
887						<div class="tab-pane fade" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
888							${activos.getData()} 
889						</div> 
890				</#if> 
891				<#assign tabCount = tabCount + 1 /> 
892			</#if> 
893			<#if (composicion.getData())?? && composicion.getData() != ""> 
894				<#if tabActive > 
895						<div class="tab-pane fade show active" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
896							${composicion.getData()} 
897						</div> 
898						<#assign tabActive = false /> 
899				<#else >		 
900						<div class="tab-pane fade" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
901							${composicion.getData()} 
902						</div> 
903				</#if> 
904				<#assign tabCount = tabCount + 1 /> 
905			</#if> 
906			<#if (indicaciones.getData())?? && indicaciones.getData() != ""> 
907				<#if tabActive > 
908						<div class="tab-pane fade show active" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
909							${indicaciones.getData()} 
910						</div> 
911						<#assign tabActive = false /> 
912				<#else >		 
913						<div class="tab-pane fade" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
914							${indicaciones.getData()} 
915						</div> 
916				</#if> 
917				<#assign tabCount = tabCount + 1 /> 
918			</#if> 
919			<#if (contraindicaciones.getData())?? && contraindicaciones.getData() != ""> 
920				<#if tabActive > 
921						<div class="tab-pane fade show active" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
922							${contraindicaciones.getData()} 
923						</div> 
924						<#assign tabActive = false /> 
925				<#else >		 
926						<div class="tab-pane fade" id="item${tabCount}" role="tabpanel" aria-labelledby="item${tabCount}-tab"> 
927							${contraindicaciones.getData()} 
928						</div> 
929				</#if> 
930				<#assign tabCount = tabCount + 1 /> 
931			</#if> 
932			 
933		</div> 
934		 
935	</div> 
936	 
937</section> 
938</#if> 
939 
940<!-- Productos relacionados --> 
941 
942<#assign  
943	journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
944	productJournalArticle = journalArticleLocalService.getLatestArticle(groupId, .vars["reserved-article-id"].data) 
945	ddmProductStructure = productJournalArticle.getDDMStructure()  
946/> 
947 
948<#if productosRelacionados.getSiblings()?has_content> 
949<#if productosRelacionados.getSiblings()[0].getData()?has_content && productosRelacionados.getSiblings()[0].getData() != ""> 
950	<section class="cards-adt text-center"> 
951 
952			<p class="cards-adt__pretitle"> 
953				<@liferay.language key="cofares.product.relacionados.title"/> 
954			</p> 
955			<#if productosRelacionados.getSiblings()?size lt 4> 
956				<div class="cards-adt__items-container row justify-content-center"> 
957			<#else> 
958				<div class="cards-adt__items-container row"> 
959			</#if> 
960			 
961				<#list productosRelacionados.getSiblings() as cur_productosRelacionados> 
962				<#attempt> 
963					<#assign 
964							webContentData = jsonFactoryUtil.createJSONObject(cur_productosRelacionados.getData()) 
965						/> 
966						 
967					<#if webContentData.classPK?has_content && webContentData.classPK != ""> 
968						<#assign 
969							contentClassPK = webContentData.classPK?number 
970							contentClassName = webContentData.className 
971						/> 
972						 
973						<#if webContentData?? && webContentData.title??> 
974							<div class="cards-adt__item col-6 col-xl-3"> 
975								<a href="${cur_productosRelacionados.getFriendlyUrl()}" class="card--product"> 
976								  <button class="share-button" style="background-image: url(/documents/d/guest/share)"></button> 
977									<#if contentClassName == "com.liferay.journal.model.JournalArticle" > 
978										<#assign  
979											journalArticle = journalArticleLocalService.getLatestArticle(contentClassPK) 
980											ddmStructure = journalArticle.getDDMStructure() 
981											ddmForm = ddmStructure.getDDMForm() 
982											ddmFieldLocalService = serviceLocator.findService("com.liferay.dynamic.data.mapping.service.DDMFieldLocalService")    
983											ddmFormValues = ddmFieldLocalService.getDDMFormValues(ddmForm, journalArticle.getId()) 
984											ddmFormFieldValues = ddmFormValues.getDDMFormFieldValues() 
985											mainImage = true 
986											productCardDescription = "Descripcion" 
987											productCardImage = "/documents/d/guest/placeholder-aposan" 
988										/> 
989 
990										<#list ddmFormFieldValues as fieldName> 
991											<#if fieldName.getFieldReference() = 'descripcionCorta'> 
992												<#if fieldName.getValue().getString(locale)?has_content && fieldName.getValue().getString(locale) != "" > 
993													<#assign productCardDescription = fieldName.getValue().getString(locale)?replace('<[^>]+>','','r') /> 
994													<#if productCardDescription?length gt 100> 
995														<#assign productCardDescription = productCardDescription?substring(0, 100) + "..." /> 
996													</#if> 
997												</#if> 
998											</#if> 
999											<#if fieldName.getFieldReference() = 'imagenesSeccionPrincipalDetalle' && mainImage > 
1000												<#if fieldName.getValue().getString(locale)?has_content && fieldName.getValue().getString(locale) != "" > 
1001													<#assign  
1002														mainImage = false 
1003														valores = fieldName.getValue().getString(locale) 
1004														mapaValores=valores?eval  
1005													/> 
1006													<#list mapaValores as k, v> 
1007														<#if k == "url"> 
1008															<#assign productCardImage = v /> 
1009														</#if> 
1010													</#list> 
1011												 
1012											</#if> 
1013											</#if> 
1014										</#list> 
1015										<#assign mainImage = true /> 
1016										<div class="card--product__image"> 
1017											<img src="${productCardImage}" loading=”lazy”/> 
1018											<i class="share-icon"></i> 
1019										</div> 
1020										<div class="card--product__text"> 
1021											<h3> 
1022												${webContentData.title} 
1023											</h3> 
1024											<p class="card--product__description"> 
1025												${productCardDescription} 
1026											</p> 
1027											<p class="card--product__link-text" > 
1028												<@liferay.language key="cofares.product.button.verProducto"/> 
1029											</p> 
1030										</div> 
1031									</#if> 
1032								</a> 
1033							</div> 
1034						</#if> 
1035					</#if> 
1036					<#recover> 
1037					</#attempt> 
1038				</#list> 
1039		</div> 
1040	   
1041	</section> 
1042</#if> 
1043</#if> 
1044 
1045<script> 
1046 
1047        var images = document.querySelectorAll('.product__image-selector img'); 
1048        var mainImage = document.querySelector('.product__main-image'); 
1049 
1050        images.forEach(image => { 
1051            image.addEventListener('click', function() { 
1052                images.forEach(img => img.classList.remove('active')); 
1053                this.classList.add('active'); 
1054                const src = this.getAttribute('src'); 
1055                mainImage.setAttribute('src', src); 
1056            }); 
1057        }); 
1058</script> 
1059 
1060<script> 
1061    var images = document.querySelectorAll('.product__image-selector img'); 
1062    var mainImage = document.querySelector('.product__main-image'); 
1063    var currentIndex = 0; 
1064 
1065    var prevButton = document.querySelector('.prev-image'); 
1066    var nextButton = document.querySelector('.next-image'); 
1067 
1068    function setMainImage(index) { 
1069        var src = images[index].getAttribute('src'); 
1070        var alt = images[index].getAttribute('alt'); 
1071 
1072        console.log("Cambio a la imagen: " + src); 
1073 
1074        if (mainImage) { 
1075            mainImage.src = src; 
1076            if (alt) { 
1077                mainImage.alt = alt; 
1078
1079
1080 
1081        // Actualiza la clase 'active' en las imágenes del selector 
1082        images.forEach(function(img) { 
1083            img.classList.remove('active'); 
1084        }); 
1085        images[index].classList.add('active'); 
1086 
1087        // Muestra/oculta los botones dependiendo del índice 
1088        toggleNavigationButtons(index); 
1089
1090 
1091    function toggleNavigationButtons(index) { 
1092        if (index === 0) { 
1093            prevButton.style.visibility = 'hidden'; 
1094        } else { 
1095            prevButton.style.visibility = 'visible'; 
1096
1097 
1098        if (index === images.length - 1) { 
1099            nextButton.style.visibility = 'hidden'; 
1100        } else { 
1101            nextButton.style.visibility = 'visible'; 
1102
1103
1104 
1105    // Establece la primera imagen como activa por defecto 
1106    setMainImage(currentIndex); 
1107 
1108    prevButton.addEventListener('click', function() { 
1109        if (currentIndex > 0) { 
1110            currentIndex--; 
1111            setMainImage(currentIndex); 
1112
1113    }); 
1114 
1115    nextButton.addEventListener('click', function() { 
1116        if (currentIndex < images.length - 1) { 
1117            currentIndex++; 
1118            setMainImage(currentIndex); 
1119
1120    }); 
1121 
1122    // Por si también quieres cambiar la imagen haciendo clic sobre una miniatura 
1123    images.forEach(function(img, i) { 
1124        img.addEventListener('click', function() { 
1125            currentIndex = i; 
1126            setMainImage(currentIndex); 
1127        }); 
1128    }); 
1129</script> 
1130 
1131<style> 
1132.product-info__description { 
1133padding-left: 3rem; 
1134
1135.product-info__description ul li { 
1136list-style: disc; 
1137
1138.image-navigation { 
1139display: none; 
1140
1141@media only screen and (max-width: 768px) { 
1142.image-navigation { 
1143    position: absolute; 
1144    top: 50%; 
1145                left: 0; 
1146    width: 100%; 
1147    display: flex; 
1148    justify-content: space-between; 
1149    transform: translateY(-50%); 
1150    z-index: 1; 
1151
1152.image-navigation button { 
1153    background-color: transparent; 
1154        color: #e40046; 
1155        border: none; 
1156        padding: 10px; 
1157        cursor: pointer; 
1158        font-size: 30px; 
1159        transition: background-color 0.3s; 
1160        min-width: 50px; 
1161
1162
1163</style> 

Suscripcion footer

Todos los productos

Copyright © 2026 Farline Comercializadora de Productos Farmacéuticos. Reservados todos los derechos.