null
Atrás
Combo 15 GIGAS clientes dcp
Se ha producido un error al procesar la plantilla.
Java method "com.sun.proxy.$Proxy52.getFriendlyURLLayout(long, boolean, String)" threw an exception when invoked on com.sun.proxy.$Proxy52 object "com.liferay.portal.service.impl.LayoutLocalServiceImpl@8bed264"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign destinationLayout = layoutLoc... [in template "33501#33537#29210278" at line 103, column 1] ----
1<#--
2Last update: 13/07/2020
3Changelog (Last 3):
4 13/07/2020: Se agrega el campo de código de paquete
5 04/09/2019: Modificación
6 01/08/2019: Lógica para setear los valores data-id y data-category para GTM.
7-->
8
9<#-- Google Tag manager-->
10 <#--
11 Categoría de Producto para el caso de Ecuador:
12
13 1. Línea nueva y combo
14 2. Portabilidad y combo
15 3. Comprar combo
16 4. Comprar comodines
17 -->
18
19 <#assign vPageLink = button.buttonPageLink.getFriendlyUrl()>
20 <#assign vExtLink = button.buttonExtLink.getData()>
21
22 <#if vExtLink?has_content>
23 <#assign link = vExtLink>
24 <#elseif vPageLink?has_content>
25 <#assign link = vPageLink>
26 </#if>
27
28 <#assign cat1Url = '/pasarme-a-tuenti-con-linea-nueva'/>
29 <#assign cat2Url = '/portarse-a-tuenti'/>
30 <#assign cat3Url = '/only-combo-here'/>
31 <#assign cat4Url = '/only-xtra-here'/>
32
33 <#if link?contains(cat1Url)>
34 <#assign comboId = IDsAMDOCS.idChip.getData()/>
35 <#assign comboCategory = 'Línea nueva y combo'/>
36 <#elseif link?contains(cat2Url)>
37 <#assign comboId = IDsAMDOCS.idChip.getData()/>
38 <#assign comboCategory = 'Portabilidad y combo'/>
39 <#elseif link?contains(cat3Url)>
40 <#assign comboId = IDsAMDOCS.idSinChip.getData()/>
41 <#assign comboCategory = 'Comprar combo'/>
42 <#elseif link?contains(cat4Url)>
43 <#assign comboId = ''/>
44 <#assign comboCategory = 'Comprar comodines'/>
45 <#else>
46 <#assign comboId = 'No category match'/>
47 <#assign comboCategory = link/>
48 </#if>
49
50<#-- /Google Tag manager-->
51<!-- ${codigoPaquete.getData()} -->
52<div class="section-combos-list">
53 <div class="container container-section">
54 <div class="row-list-combos">
55 <div class="item-list-combo">
56 <div class="item-inline data-size">
57 <div class="content">
58 <div class="col-image"><img src="/documents/33537/82530/chip-carrusel.png/4a9d5125-5ff8-7a26-28fe-cf82d8f55752?t=1555342021772" alt="chip - Combos Tuenti" title="chip - Combos Tuenti"></div>
59 <div class="col-text">
60 <span class="top">${upperText.getData()}</span>
61 <h3 class="size">${size.getData()}</h3>
62 </div>
63 </div>
64 </div>
65 <div class="item-inline data-list">
66 <div class="content">
67 <@getFeatures />
68 </div>
69 </div>
70 <div class="item-inline data-price">
71 <div class="content">
72 <span class="price">${priceValue.getData()}</span>
73 <p class="bottom-price">x ${time.getData()}</p>
74 </div>
75 </div>
76 <div class="item-inline data-btn">
77 <div class="content">
78
79 <#-- Button -->
80 <#if button.buttonExtLink.getData()?has_content>
81 <#assign link = button.buttonExtLink.getData()>
82 <#elseif button.buttonPageLink.getFriendlyUrl()?has_content>
83 <#assign link = button.buttonPageLink.getFriendlyUrl()>
84 </#if>
85
86 <#-- Google Tag manager-->
87 <#if button.idGTM.getData()??>
88 <#assign GTM = button.idGTM.getData()>
89 </#if>
90 <a href="${link}?producto=${.vars['reserved-article-url-title'].data}" title="" class="btn btn-red ${GTM}">${button.getData()}</a>
91 </div>
92 </div>
93 <div class="check-compare">
94 <span class="text select-comp" onclick="comparar(this)">Comparar
95 <span class="btn-check checked-buy"></span></span>
96 </div>
97 </div>
98 </div>
99 </div>
100</div>
101
102<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")/>
103<#assign destinationLayout = layoutLocalService.getFriendlyURLLayout(groupId, false, "/comparar-combos-y-tarifas-tuenti")/>
104<#assign urlComparadorCombos = portalUtil.getLayoutFriendlyURL(layoutLocalService.getLayout(destinationLayout.getPlid()), themeDisplay,locale)/>
105
106
107<script>
108 var compararCombos=[];
109
110 function comparar(index){
111 var element= $(index);
112 if(element.find('.select-comparar').length == 1){
113 element.children().removeClass("select-comparar icons-check-simple");
114 compararCombos=[];
115 }else{
116 element.children().addClass("select-comparar icons-check-simple");
117 var articleId=$(index).parents(".section-combos-list").prev(".articleId-combo").text();
118 compararCombos.push(articleId);
119 if(compararCombos.length == 2){
120 var allCombos=[];
121 for(var i=0;i<$(".articleId-combo").length;i++){
122 allCombos.push($($(".articleId-combo").get(i)).text());
123 }
124 var groupId=$($(".groupId-combo").get(0)).text();
125 window.location.href="/comparar-combos-y-tarifas-tuenti?group="+groupId+"&combos="+allCombos.join()+"&comp="+compararCombos.join();
126 }
127 }
128 }
129</script>
130
131<!-- Track event for Google Tag Manager -->
132<script>
133$(".${GTM}").on('click', function(event){
134 event.stopPropagation();
135 event.stopImmediatePropagation();
136
137 // Establece data-id y data-category para GTM
138 $('.section-combos-list').attr('data-id', '${comboId}');
139 $('.section-combos-list').attr('data-category', '${comboCategory}');
140
141 dataLayer.push({
142 'event':'trackEvent',
143 'eventCategory':'Categoria de producto - Combos',
144 'eventAction':'Opciones de producto Combos',
145 'eventLabel':'${size.getData()}'
146 });
147});
148</script>
149<!-- End track event for Google Tag Manager -->
150
151<#macro getFeatures>
152 <#if features.getSiblings()?has_content>
153 <ul class="col-list">
154 <#assign flagFeature=0>
155 <#list features.getSiblings() as cur_features>
156 <li class="item">
157 <p class="text">${cur_features.getData()}</p>
158 </li>
159 </#list>
160 <li class="">
161 <#if (iconosApps.getSiblings())?has_content>
162 <#list iconosApps.getSiblings() as cur_icons>
163 <a href="" title="" class="link-rrss"><img class="bottom-img" src="${cur_icons.getData()}" alt="${cur_icons.AltIconoApp.getData()}" title="${cur_icons.TituloIconoApp.getData()}"/></a>
164 </#list>
165 </#if>
166 </li>
167 </ul>
168 </#if>
169</#macro>