Content | DGO | PDP Estático | Header

Content | DGO | Proximos jogos | Banner

An error occurred while processing the template.
The following has evaluated to null or missing:
==> Countdown.countdownDate  [in template "20101#20128#248131" at line 16, column 41]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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 Countdown?? && validator.isNotNul...  [in template "20101#20128#248131" at line 16, column 1]
----
1<#function substituirCaminhoCDN(caminho)> 
2     <#assign indice = caminho?last_index_of("/documents") + 1> 
3     <#assign novoCaminho = caminho?substring(indice)> 
4  
5     <#return themeDisplay.getCDNBaseURL() + "/" + novoCaminho> 
6</#function> 
7 
8<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() /> 
9<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
10<#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
11 
12<#-- has countdown --> 
13<#assign  
14  hasCountDown = 'false' 
15/> 
16<#if Countdown?? && validator.isNotNull(Countdown.countdownDate.getData())> 
17  <#assign hasCountDown = 'true' /> 
18</#if> 
19 
20<style> 
21    .hero__buttons.buttons_active { 
22        display: block; 
23
24    .content_subtitle { 
25        margin-bottom: 23px; 
26        margin-top: 23px; 
27
28     
29    .dtv-landing-title { 
30        font-weight: bold; 
31
32     
33    .hero .hero__content .button__cup_orange { 
34        max-width: 350px; 
35        width: 100%; 
36        border-radius: 25px; 
37
38 
39    .dtvgo .button__cup_orange { 
40        background: #fff !important; 
41        color: #101010 !important; 
42
43 
44    .banner_img{ 
45        background-image: url(${substituirCaminhoCDN(BackgroundImage.Image51x0.getData())}); 
46        background-repeat: ${BackgroundImage.BackgroundRepeat.getData()};  
47        background-position: ${BackgroundImage.BackgroundPosition1.getData()} ${BackgroundImage.BackgroundPosition2.getData()}; 
48
49     
50    @media (min-width: 971px){ 
51        .banner #hero_main_dtv { 
52            background-repeat: no-repeat !important; 
53            background-position: center 18px !important; 
54            background-size: contain !important; 
55
56
57 
58    @media (max-width: 438px) 
59
60        .hero .hero__content .hero__title h1 { 
61            font-size: 40px; 
62
63
64     
65    @media (max-width: 361px) 
66
67        .hero .hero__content .hero__title h1 { 
68            font-size: 30px; 
69            line-height: 36px; 
70
71
72   
73  <#if hasCountDown == 'true'>   
74  /*countdown*/ 
75  .countdown-section { 
76    background-color: #077CC0; 
77    position: absolute; 
78    left: 0; 
79    top: 16px; 
80    z-index: 20; 
81    width: 100%; 
82
83 
84  .text-center { 
85    text-align: center; 
86
87 
88  .counter-div { 
89    display: flex; 
90    flex-direction: row; 
91    gap: 4px; 
92    justify-content: center; 
93    font-size: 0.65rem; 
94    color: #101010; 
95    font-family: "Poppins",sans-serif; 
96    font-weight: 600; 
97
98 
99  .counter-element { 
100    width: fit-content; 
101    display: contents; 
102    flex-direction: column; 
103
104 
105  .number-div { 
106    padding: 12px 0; 
107
108 
109  .element-text { 
110    padding: 12px 0; 
111    margin: 0; 
112    font-weight: 600!important; 
113
114 
115  .counter-animate { 
116    animation: slideInFromTop 0.5s ease-in-out; 
117
118 
119  .show { 
120    opacity: 1; 
121
122   
123  @media screen and (min-width: 350px) { 
124    .counter-div { 
125        font-size: 0.75rem; 
126
127
128 
129  @media screen and (max-width: 600px) { 
130    .counter-div { 
131      gap: 5px; 
132
133 
134    .et-desktop { 
135      display: none; 
136
137
138 
139  @media screen and (min-width: 601px) { 
140    .et-mobile { 
141      display: none; 
142
143
144 
145  @media screen and (max-width: 970px) { 
146    .countdown-section { 
147      top: 16px; 
148
149
150 
151  @media screen and (min-width: 1080px) { 
152    .countdown-section { 
153      top: 18px; 
154
155
156 
157  @keyframes slideInFromTop { 
158    from { 
159      transform: translateY(-80%); 
160      opacity: 0; 
161
162 
163    to { 
164      transform: translateY(0%); 
165      opacity: 1; 
166
167  </#if> 
168</style> 
169 
170<#if (MobileBackgroundImage.Image3vvy.getData())?? && MobileBackgroundImage.Image3vvy.getData() != "">  
171    <style> 
172        @media (max-width: 767px) { 
173            .banner_img { 
174                background-image: url(${substituirCaminhoCDN(MobileBackgroundImage.Image3vvy.getData())}); 
175                background-size: contain; 
176
177
178    </style> 
179    <#else> 
180    <style> 
181        @media (max-width: 767px) { 
182            .banner_img { 
183                background-image: url(''); 
184
185
186    </style> 
187</#if> 
188 
189<#assign notShowContent = 'false' /> 
190 
191<#if currentUrl?contains('/br/') && currentUrl?contains('/inicio')> 
192    <#assign notShowContent = 'true' /> 
193</#if> 
194 
195<#-- countdown GMT rules -> 
196<#-- for AR, UY, BR --> 
197<#assign GMT = '-0300' /> 
198 
199<#if currentUrl?contains('/co/') || currentUrl?contains('/ec/') || currentUrl?contains('/pe/')> 
200  <#assign GMT = '-0500' /> 
201<#elseif currentUrl?contains('/cl/')> 
202  <#assign GMT = '-0400' /> 
203</#if> 
204 
205<div class="banner hero"> 
206    <#if hasCountDown == 'true'> 
207    <!-- countdown --> 
208    <section class="countdown-section" style="display:none"> 
209      <div class="text-center"> 
210        <div id="countDiv" class="counter-div"> 
211          <p class="element-text">Gran Hermano empieza en</p> 
212          <div class="counter-element"> 
213            <div class="number-div"> 
214              <div class="days"></div> 
215            </div> 
216            <p class="element-text">dias,</p> 
217          </div> 
218          <div class="counter-element"> 
219            <div class="number-div"> 
220              <div class="hours"></div> 
221            </div> 
222            <p class="element-text">horas,</p> 
223          </div> 
224          <div class="counter-element"> 
225            <div class="number-div"> 
226              <div class="minutes"></div> 
227            </div> 
228            <p class="element-text et-mobile">min. y</p> 
229            <p class="element-text et-desktop">minutos y</p> 
230          </div> 
231          <div class="counter-element"> 
232            <div class="number-div"> 
233              <div class="seconds"></div> 
234            </div> 
235            <p class="element-text et-mobile">seg.</p> 
236            <p class="element-text et-desktop">segundos!</p> 
237          </div> 
238        </div> 
239      </div> 
240    </section> 
241    <!-- //countdown --> 
242    </#if> 
243     
244    <div id="hero_main_dtv" class="banner_img" data-image="${substituirCaminhoCDN(BackgroundImage.Image51x0.getData())}"> 
245      <div class="hero__content"> 
246       
247        <div class="hero__box content--${GeneralConfiguration.TextBoxPosition.getData()}"> 
248          <div class="hero__title"> 
249              <h1 class="h1 ${Texts.TitleSubtitle.Title.TitleColor.getData()}"> 
250                ${Texts.TitleSubtitle.Title.TitleText.getData()} 
251              </h1> 
252              <h2 class="h4 ${Texts.TitleSubtitle.Subtitle.SubtitleColor.getData()}"> 
253                ${Texts.TitleSubtitle.Subtitle.SubtitleText.getData()} 
254              </h2> 
255          </div> 
256 
257          <div class="hero__block"> 
258           
259            <#if TextPlans.PlanName.getSiblings()?has_content> 
260              <#list TextPlans.PlanName.getSiblings() as cur_TextPlans_PlanName> 
261              <p class="text-color-white"><span class="text-color-blue-light">${cur_TextPlans_PlanName.getData()}</span> ${cur_TextPlans_PlanName.PlanDescription.getData()}</p> 
262              </#list> 
263            </#if> 
264     
265          </div> 
266 
267          <div class="hero__buttons"> 
268            <#if Buttons.LinkToPageb2xm.getSiblings()?has_content> 
269                <#list Buttons.LinkToPageb2xm.getSiblings() as cur_Buttons_LinkToPageb2xm> 
270                    <#assign buttonLink = cur_Buttons_LinkToPageb2xm.getFriendlyUrl()> 
271 
272                    <#if cur_Buttons_LinkToPageb2xm.RedirectURL.getData() != ''> 
273                        <#assign buttonLink = cur_Buttons_LinkToPageb2xm.RedirectURL.getData()> 
274                    </#if> 
275 
276                    <#-- sky+ conditions --> 
277                    <#if notShowContent == 'true'> 
278                        <#if buttonLink?contains('cadastrar')> 
279                            <#assign buttonLink = 'https://www.skymais.com.br/cadastrar'> 
280                        </#if> 
281                        <#if buttonLink?contains('acessar')> 
282                            <#assign buttonLink = 'https://www.skymais.com.br/acessar'> 
283                        </#if> 
284                    </#if> 
285 
286                    <a class="button ${cur_Buttons_LinkToPageb2xm.ButtonColorBackground.getData()}" href="${buttonLink}"> 
287                        ${cur_Buttons_LinkToPageb2xm.TextLink.getData()} 
288                    </a> 
289                </#list> 
290            </#if> 
291          </div> 
292             
293        </div> 
294         
295        <div class="hero__icon"> 
296        <#-- sky+ conditions --> 
297          <#if notShowContent == 'false'> 
298            <a href="#planes"> 
299              <span class="bi bi-chevron-down chevron"> 
300                <#if (iconDown.getData())?? && iconDown.getData() != ""> 
301                  <img id="chevronDown" alt="${iconDown.getAttribute("alt")}" data-fileentryid="${iconDown.getAttribute("fileEntryId")}" src="${substituirCaminhoCDN(iconDown.getData())}" /> 
302                </#if> 
303              </span> 
304            </a> 
305            </#if> 
306        </div> 
307      </div> 
308    </div> 
309  </div> 
310     
311<script> 
312    $(".hero__content .hero__buttons a").on( "click", function() { 
313        idElement = "Button-" + $( this ).text().replace(/[\r\n]/gm, '').replaceAll(" ", "-").trim(); 
314        handleAddBannerHomeGTM(idElement, userGTM, sessionGTM)  
315 
316        if ($(this).is(":last-child") && location.pathname.includes(pageHome)) { 
317          let dataLayer = { 
318            "event": "interactions", 
319            "eventParams": { 
320              'section': 'home',  
321              'v_category': 'login:login',  
322              'v_action': 'navigation',  
323              'v_label': 'enter-login',  
324              'v_client_id': 'not logged',  
325              'v_language': 'es', 
326              'v_app_name': 'dgo-web', 
327              'hash': 'e-010.011.001.000.000.052' 
328
329
330          window.dataLayer.push(dataLayer); 
331
332    }); 
333     
334 
335    $('.hero__icon a').on('click', function(event) { 
336    event.preventDefault(); 
337    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')  
338      || location.hostname == this.hostname) { 
339 
340      var target = $(this.hash); 
341       
342      target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 
343      if (target.length) { 
344        $('html,body').animate({ 
345          scrollTop: target.offset().top - 100 
346        }, 1000); 
347        return false; 
348
349
350  }); 
351     
352    if(userLanguage === "AR"){ 
353        var __clientId = ""; 
354        (function() { 
355            try { 
356              ga(function(tracker) { 
357                __clientId = tracker.get('clientId') 
358                var click = $._data($(document)[0], 'events').click.filter(function(click) { 
359                  return click.selector === ".plan__action .button__primary" 
360                })[0] 
361                click.handler = new Function('return ' + click.handler.toString().replace("location.href = directvar_gobasicocombo;", "location.href = directvar_gobasicocombo + '?' + __clientId;").replace("location.href = directvar_gofullcombo;", "location.href = directvar_gofullcombo + '?' + __clientId;"))() 
362              }) 
363        } catch (e) {} 
364        })() 
365
366     
367    <#if hasCountDown == 'true'> 
368    /*countdown*/ 
369    function countDownDGO(endtime) { 
370      "use strict"; 
371     
372      var timeTotal = Date.parse(endtime) - Date.now(), 
373        timeSeconds = Math.floor((timeTotal / 1000) % 60), 
374        timeMinutes = Math.floor((timeTotal / 1000 / 60) % 60), 
375        timeHours = Math.floor((timeTotal / (1000 * 60 * 60)) % 24), 
376        timeDays = Math.floor(timeTotal / (1000 * 60 * 60 * 24)); 
377     
378      return { 
379        total: timeTotal, 
380        seconds: timeSeconds, 
381        minutes: timeMinutes, 
382        hours: timeHours, 
383        days: timeDays 
384      }; 
385
386     
387    function animateCounter(selector, targetValue) { 
388      var $element = $(selector); 
389      var currentValue = parseInt($element.text(), 10); 
390     
391      if (currentValue === targetValue) { 
392        return; 
393
394     
395      $element.addClass("counter-animate"); 
396      $element.text(targetValue); 
397     
398      setTimeout(function () { 
399        $element.addClass("show"); 
400      }, 10); 
401     
402      setTimeout(function () { 
403        $element.removeClass("counter-animate show"); 
404      }, 500); 
405
406     
407    function startCalc(endtime) { 
408      var timeTotal = countDownDGO(endtime); 
409     
410      animateCounter(".days", timeTotal.days); 
411      animateCounter(".hours", timeTotal.hours); 
412      animateCounter(".minutes", timeTotal.minutes); 
413      animateCounter(".seconds", timeTotal.seconds); 
414     
415      if (timeTotal.total <= 0) { 
416        clearInterval(timingNow); 
417        document.querySelector('.countdown-section').style.display = 'none'; 
418      } else if (window.getComputedStyle(document.querySelector('.countdown-section')).getPropertyValue('display') == 'none') { 
419        document.querySelector('.countdown-section').removeAttribute('style'); 
420
421
422     
423    var DeadLine = new Date("${Countdown.countdownDate.getData()} 22:30:00"); 
424     
425    const timingNow = setInterval(function () { 
426      startCalc(DeadLine); 
427    }, 1000); 
428    </#if> 
429</script> 

Content | DGO | Proximos Jogos | Button - Home Mobile

Content | DGO | Proximos Jogos | Title - FAQ

Lo que deber saber de DGO

Content | DGO | Proximos Jogos | FAQ

¿Qué dispositivos y navegadores se pueden utilizar con DGO?

Tú tienes el control con DGO. Ve tus programas cuando quieras y donde quieras desde tu Smartphone o Tablet, o conecta un dispositivo compatible a tu TV, ¡Tú decides! Navegadores compatibles: Chrome 59+ Firefox Smartphones y Tablets compatibles: Celulares Android (TM) 6 y superiores. Tablets Android (TM) 6 y superiores. iPad iOS 11+ iPhone iOS 11+ iPod Touch iOS 11+ Dispositivos Compatibles para TV: Apple TV (4a generación, con iOS 9 o superior) LG TV Samsung TV (utilizando el app store nativo) Android TV (con sistema operativo 6 o superiores) Chromecast Roku Televisores marca TCL con sistema operativo Android TV o Roku integrado. Nota: No se recomienda usar Internet Explorer ni Safari para reproducir el contenido, sin embargo, lo puedes usar para ajustar las configuraciones de cuenta.

¿Puedo ver canales deportivos y los partidos de hoy en DGO?

Claro que puedes ver canales deportivos en DIRECTV GO, contamos con una serie de canales exclusivos de Deportes de los cuales algunos están incluidos cuando te suscribes. Si quieres confirmar tu paquete de suscripción solo debes: 1. Ingresa a tu cuenta de DGO. 2. En tu Cuenta de Usuario selecciona Administrar Mi Plan. 3. Tu suscripción actual se muestra y puede ser cambiada en cualquier momento. No te pierdas la emoción de ver tus partidos favoritos en donde te encuentres llevando DGO contigo. Para mayores detalles, consulta en la pestaña de Deportes los canales y eventos deportivos disponibles en tu país.

¿Cuál es el costo del servicio DGO?

Consulta los precios vigentes para cada plan. También puedes ver los contenidos extra que tenemos disponibles para mejorar tu experiencia.

¿Cuántos dispositivos puedo usar simultaneamente para hacer streaming?

Actualmente DGO te permite disfrutar de la programación en vivo, series y películas en hasta dos dispositivos de manera simultánea.

Content | DGO | Proximos Jogos | Link - FAQ

¿Necesitas ayuda?

Content | DGO | Proximos Jogos | Button - Home Mobile

Content | DGO | PDP Estatico | Footer