An error occurred while processing the template.
The following has evaluated to null or missing:
==> item.banner_navigation  [in template "10113#11634844#45735967" at line 40, column 96]

----
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 be 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: ${fetchCDNLink(item.banner_navigation...  [in template "10113#11634844#45735967" at line 40, column 81]
----
1<#assign liferay_theme=PortletJspTagLibs["/META-INF/liferay-theme.tld"] /> 
2<#assign portlet=PortletJspTagLibs["/META-INF/liferay-portlet.tld"] /> 
3<@liferay_theme["defineObjects"] /> 
4<@portlet["defineObjects"] /> 
5 
6<#assign today=.now?string('yyyy-MM-dd')?date('yyyy-MM-dd') /> 
7<#if TransitionSpeed.getData() !=""> 
8  <#assign autoPlay=TransitionSpeed.getData()?number * 1000 /> 
9  <#else> 
10    <#assign autoPlay=10000 * 1000 /> 
11</#if> 
12 
13<#assign css_folder=themeDisplay.getPathThemeCss() /> 
14<#assign javascript_folder=themeDisplay.getPathThemeJavaScript() /> 
15<#assign images_folder=themeDisplay.getPathThemeImages() /> 
16 
17 
18 
19<script src="${javascript_folder}/theme-pablo/start_page_carousel.js?v1712825033702"></script> 
20 
21 
22<div class="MainCarousel-wrap"> 
23  <div class="MainCarousel-main js-spc-carousel"> 
24    <div class="MainCarousel-swiper js-swiper-carousel"> 
25      <div class="swiper-wrapper"> 
26        <#assign number_of_banners=0> 
27 
28          <#list Naslov.getSiblings() as item> 
29            <#if number_of_banners lt 5> 
30              <#assign doRender=((item.SchedulingDateFrom.getData()?has_content)?then(today gte 
31                item.SchedulingDateFrom.getData()?date('yyyy-MM-dd'), true)) && 
32                ((item.SchedulingDateTo.getData()?has_content)?then(today lte 
33                item.SchedulingDateTo.getData()?date('yyyy-MM-dd') ,true))> 
34                <#if doRender> 
35                  <#assign number_of_banners++> 
36                    <#assign gtmName="" /> 
37                    <#if item.GTMLabel??> 
38                      <#assign gtmName=item.GTMLabel.getData() /> 
39                    </#if> 
40                    <div class="swiper-slide js-swiper-thumb-image" data-thumb="${fetchCDNLink(item.banner_navigation.getData())}"> 
41                    <div class="MainCarousel-main-cell overflow-hidden" data-banner-index="${number_of_banners}" 
42                      data-gtm-name="${gtmName}"> 
43                      <#assign otvaranjeLinka=""> 
44                        <#if item.OtvaranjeLinka.getData()=="new window"> 
45                          <#assign otvaranjeLinka="_blank"> 
46                        </#if> 
47                        <#assign link="" /> 
48                        <#assign modalId="" /> 
49                        <#assign modalTriggerClass="" /> 
50                        <#assign ffCustomTitle="" /> 
51                        <#if item.LinkButton.getData() !=""> 
52                          <#assign link=item.LinkButton.getData() /> 
53                          <#elseif item.ModalId?? && item.ModalId.getData() !=""> 
54                            <#assign modalIdSufix="'" /> 
55                            <#assign modalId="data-modal='#" /> 
56                            <#assign modalId=modalId + item.ModalId.getData() /> 
57                            <#assign modalId=modalId + modalIdSufix /> 
58                            <#assign link="#" /> 
59                            <#assign modalTriggerClass="js-modal-trigger" /> 
60                            <#if item.FFCustomTitle??> 
61                              <#assign ffCustomTitle=item.FFCustomTitle.getData() /> 
62                            </#if> 
63 
64                        </#if> 
65 
66                        <#if item.LinkButton.getData() !=""> 
67                          <a href="${link}" target="${otvaranjeLinka}" class="block-link gtm-carousel-block-link"> 
68                        </#if> 
69 
70                        <picture class="MainCarousel-image"> 
71                          <source srcset="${fetchCDNLink(item.BannerDesktop.getData())}" media="(min-width: 768px)" /> 
72                          <img src="${fetchCDNLink(item.BannerMobile.getData())}" loading="lazy"/> 
73                        </picture> 
74 
75                        <div class="MainCarousel-contentBlock-wrap"> 
76                          <div class="container"> 
77 
78                            <#assign content_block_color="" /> 
79 
80                            <#if item.background_color.getData()=="primary"> 
81                              <#assign content_block_color="is-primary" /> 
82                              <#elseif item.background_color.getData()=="secondary"> 
83                                <#assign content_block_color="is-secondary" /> 
84                                <#elseif item.background_color.getData()=="tertiary"> 
85                                  <#assign content_block_color="is-tertiary" /> 
86                                  <#elseif item.background_color.getData()=="quaternary"> 
87                                    <#assign content_block_color="is-quaternary" /> 
88                                    <#elseif item.background_color.getData()=="quinary"> 
89                                      <#assign content_block_color="is-quinary" /> 
90                            </#if> 
91 
92                            <#if item.ButtonVariant.getData()=="red"> 
93                              <#assign button_color="button--red" /> 
94                              <#elseif item.ButtonVariant.getData()=="white"> 
95                                <#assign button_color="button--light" /> 
96                            </#if> 
97 
98                            <div class="MainCarousel-contentBlock ${content_block_color}"> 
99                              <#if item.CounterContainer?? && item.CounterContainer.HasCounter.getData()=="yes" && 
100                                item.CounterContainer.CounterToDate.getData() !=""> 
101                                <#assign longToday=.now?long /> 
102                                <#assign toHours="00" /> 
103                                <#assign toMinutes="00" /> 
104                                <#if item.CounterContainer.CounterToHours.getData()?has_content> 
105                                  <#assign toHours=(item.CounterContainer.CounterToHours.getData()?number>23)?then("23", 
106                                    item.CounterContainer.CounterToHours.getData()) /> 
107                                    <#if toHours?length lt 2> 
108                                      <#assign toHours="0" + toHours /> 
109                                    </#if> 
110                                </#if> 
111                                <#if item.CounterContainer.CounterToMinutes.getData()?has_content> 
112                                  <#assign toMinutes=(item.CounterContainer.CounterToMinutes.getData()?number> 
113                                    59)?then("59", item.CounterContainer.CounterToMinutes.getData()) /> 
114                                    <#if toMinutes?length lt 2> 
115                                      <#assign toMinutes="0" + toMinutes /> 
116                                    </#if> 
117                                </#if> 
118                                <#assign toSeconds="00" /> 
119 
120                                <#assign 
121                                  countdownDisplayBuilder=item.CounterContainer.CounterToDate.getData()?date("yyyy-MM-dd")?string.iso 
122                                  + "T" /> 
123                                <#assign countdownDisplayBuilder=countdownDisplayBuilder + toHours /> 
124                                <#assign countdownDisplayBuilder=countdownDisplayBuilder + ":" /> 
125                                <#assign countdownDisplayBuilder=countdownDisplayBuilder + toMinutes /> 
126                                <#assign countdownDisplayBuilder=countdownDisplayBuilder + ":" /> 
127                                <#assign countdownDisplayBuilder=countdownDisplayBuilder + toSeconds /> 
128 
129                                <#assign 
130                                  countdownToBuilder=item.CounterContainer.CounterToDate.getData()?date("yyyy-MM-dd")?string 
131                                  + " " /> 
132                                <#assign countdownToBuilder=countdownToBuilder + toHours /> 
133                                <#assign countdownToBuilder=countdownToBuilder + ":" /> 
134                                <#assign countdownToBuilder=countdownToBuilder + toMinutes /> 
135                                <#assign countdownToBuilder=countdownToBuilder + ":" /> 
136                                <#assign countdownToBuilder=countdownToBuilder + toSeconds /> 
137                                <#assign countdownToLong=countdownToBuilder?datetime?long /> 
138                                <#assign countdownDiff=((countdownToLong - longToday)/1000)?floor /> 
139                                <#if countdownDiff gte 0> 
140                                  <div class="mt-4 mb-4 md:mb-8"> 
141                                    <div 
142                                      class="Countdown-clock ${item.CounterContainer.CounterBackgroundColor.getData()}-fields js-countdown-clock" 
143                                      data-deadline="${countdownDisplayBuilder}"> 
144                                      <div class="Countdown-clock-wrap"> 
145                                        <div class="Countdown-clock-field days Countdown-clock-field-nt"> 
146                                          <span class="font-serif js-countdown-days number">00</span> 
147                                          <span class="text">dana</span> 
148                                        </div> 
149                                        <div class="Countdown-clock-field hours Countdown-clock-field-nt"> 
150                                          <span class="font-serif js-countdown-hours number">00</span> 
151                                          <span class="text">sati</span> 
152                                        </div> 
153                                        <div class="Countdown-clock-field minutes Countdown-clock-field-nt"> 
154                                          <span class="font-serif js-countdown-minutes number">00</span> 
155                                          <span class="text">minuta</span> 
156                                        </div> 
157                                        <#if item.CounterContainer.ShowSeconds.getData()="yes"> 
158                                          <div class="Countdown-clock-field seconds Countdown-clock-field-nt"> 
159                                            <span class="font-serif js-countdown-seconds number">00</span> 
160                                            <span class="text">sekundi</span> 
161                                          </div> 
162                                        </#if> 
163                                      </div> 
164                                    </div> 
165                                  </div> 
166                                  <#else> 
167                                    <div> 
168                                      ${item.CounterContainer.CounterExpiredText.getData()} 
169                                    </div> 
170                                </#if> 
171                              </#if> 
172 
173                              <div class="MainCarousel-description"> 
174                                <#if item?has_content> 
175                                  <h3 class="MainCarousel-title font-serif">${item.getData()}</h3> 
176                                </#if> 
177                                <#if item.Podnaslov?has_content> 
178                                  <p class="MainCarousel-text text-base md:text-lg font-normal"> 
179                                    ${item.Podnaslov.getData()}</p> 
180                                </#if> 
181 
182                                <#if link !="" && item.ButtonText.getData() !=""> 
183                                  <button 
184                                    class="button button--primary ${button_color} button--has-shadow serif ${modalTriggerClass}" 
185                                    href="${link}" target="${otvaranjeLinka}" ${modalId} 
186                                    data-ff-custom-title="${ffCustomTitle}"> 
187                                    <span class="button__label">${item.ButtonText.getData()}</span> 
188                                    <span class="button__icon icon-right"> 
189                                      <svg width="24" height="24" viewBox="0 0 24 24" fill="none" 
190                                        xmlns="http://www.w3.org/2000/svg"> 
191                                        <path 
192                                          d="M15.186 12.0016L9.9375 17.25L8.8125 16.125L12.9368 12.0007L8.8125 7.875L9.9375 6.75L15.186 12H15.1875L15.1868 12.0007L15.1875 12.0016H15.186Z" 
193                                          fill="currentColor"></path> 
194                                      </svg> 
195                                    </span> 
196                                  </button> 
197                                </#if> 
198                              </div> 
199                            </div> 
200 
201                            <#if getterUtil.getBoolean(item.patch.show_patch.getData())> 
202                              <#assign patch_type=item.patch.patch_type.getData() /> 
203                              <#assign patch_type_class="" /> 
204 
205                              <#if patch_type !="primary"> 
206                                <#assign patch_type_class="Patch--secondary" /> 
207                              </#if> 
208 
209                              <div class="Patch-wrap font-serif ${patch_type_class}"> 
210                                <#if item.patch.patch_small_text.getData() !="" && patch_type=="primary"> 
211                                  <p class="Patch Patch--black is-small"> 
212                                    <span class="Patch-txt"> 
213                                      ${item.patch.patch_small_text.getData()} 
214                                    </span> 
215                                  </p> 
216                                </#if> 
217 
218                                <#assign patch_secondary_class="" /> 
219 
220                                <#if patch_type=="secondary-red"> 
221                                  <#assign patch_secondary_class="Patch--big-red" /> 
222                                  <#elseif patch_type=="secondary-black"> 
223                                    <#assign patch_secondary_class="Patch--big-black" /> 
224                                </#if> 
225 
226                                <p class="Patch Patch--red ${patch_secondary_class}"> 
227                                  <span class="font-bold"> 
228                                    <#if item.patch.patch_subtitle.getData() !=""> 
229                                      <span 
230                                        class="font-normal Patch-subtitle">${item.patch.patch_subtitle.getData()}</span> 
231                                    </#if> 
232                                    <span class="Patch-title">${item.patch.patch_title.getData()}</span> 
233                                    <#if item.patch.patch_currency_text.getData() !=""> 
234                                      <span 
235                                        class="font-normal Patch-currency big-kn">${item.patch.patch_currency_text.getData()}</span> 
236                                    </#if> 
237                                    <#if item.patch.patch_discount_text.getData() !=""> 
238                                      <span class="Patch-discount">${item.patch.patch_discount_text.getData()}</span> 
239                                    </#if> 
240                                  </span> 
241                                  <#if item.patch.patch_text.getData() !=""> 
242                                    <span class="Patch-txt d-block">${item.patch.patch_text.getData()}</span> 
243                                  </#if> 
244                                </p> 
245                              </div> 
246                            </#if> 
247                          </div> 
248                        </div> 
249 
250                        <#if item.LinkButton.getData() !=""> 
251                          </a> 
252                        </#if> 
253 
254                    </div> 
255                  </div> 
256                </#if> 
257            </#if> 
258          </#list> 
259      </div> 
260      <#if number_of_banners gt 1> 
261        <div class="d-flex justify-center"> 
262          <div class="MainCarousel-pagination"></div> 
263        </div> 
264        <div class="MainCarousel-navigation"> 
265          <div class="MainCarousel-button-prev bg-gray-20"><img src="${images_folder}/icons/icon-left.svg" /></div> 
266          <div class="MainCarousel-button-next bg-gray-20"><img src="${images_folder}/icons/icon-right.svg" /></div> 
267        </div> 
268      </#if> 
269    </div> 
270  </div> 
271</div> 
272 
273<#function fetchCDNLink link> 
274  <#if !link?starts_with(themeDisplay.getCDNHost())> 
275    <#return (themeDisplay.getCDNHost() + link)> 
276  </#if> 
277  <#return link> 
278</#function> 
279 
280<script> 
281 
282  $(document).ready(function () { 
283    $('.gtm-carousel-block-link').on("click", "", function () { 
284      var component = $(this).parent(); 
285      var index = component.data('banner-index'); 
286 
287      var promotionId = component.find("h3.MainCarousel-title").text(); 
288      var title = (component.data("gtm-name") != "") ? component.data("gtm-name") : component.find("h3.MainCarousel-title").text(); 
289 
290      <#-- new GA4 code -- > 
291      var selectPromotionData = { 
292        'event': 'select_promotion', 
293        'ecommerce': { 
294          'items': [{ 
295            'promotion_id': promotionId, 
296            'promotion_name': title, 
297            'creative_slot': "Homepage", 
298            'index': index 
299          }] 
300
301      }; 
302 
303      window.dataLayer = window.dataLayer || []; 
304      window.dataLayer.push({ ecommerce: null }); 
305      window.dataLayer.push(selectPromotionData); 
306 
307      <#-- old GA3 code, ready for deletion when GA3 shuts down --> 
308      var imageName = component.find("img.MainCarousel-image").attr("alt"); 
309      window.dataLayer.push({ 
310        'event': 'promotionClick', 
311        'ecommerce': { 
312          'promoClick': { 
313            'promotions': [{ 
314              'id': 'Home - Slider', 
315              'name': title, 
316              'creative': imageName, 
317              'position': index 
318            }] 
319
320
321      }); 
322      <#-- end of old GA3 --> 
323    }); 
324 
325    <#-- new GA4 code --> 
326      window.dataLayer = window.dataLayer || []; 
327    var mainPromoCarouselPromoData = []; 
328 
329    $.each($(".MainCarousel-main-cell"), function () { 
330      var promotionData = { 
331        'promotion_id': $(this).find("h3.MainCarousel-title").text(), 
332        'promotion_name': ($(this).data("gtm-name") != "") ? $(this).data("gtm-name") : $(this).find("h3.MainCarousel-title").text(), 
333        'creative_slot': "Homepage", 
334        'index': $(this).data('banner-index') 
335      }; 
336      mainPromoCarouselPromoData.push(promotionData); 
337    }); 
338 
339    var promotionViewData = { 
340      'event': 'view_promotion', 
341      'ecommerce': { 
342        'items': mainPromoCarouselPromoData 
343
344    }; 
345 
346    window.dataLayer = window.dataLayer || []; 
347    window.dataLayer.push({ ecommerce: null }); 
348    window.dataLayer.push(promotionViewData); 
349    <#-- end of new GA4 code --> 
350 
351      <#-- old GA3 code, ready for deletion when GA3 shuts down --> 
352    var promotionsObjectList = []; 
353    $.each($(".MainCarousel-main-cell"), function () { 
354      var promotionsObject = { 
355        'id': 'Home - Slider', 
356        'name': ($(this).data("gtm-name") != "") ? $(this).data("gtm-name") : $(this).find("h3.MainCarousel-title").text(), 
357        'creative': $(this).find("img.MainCarousel-image").attr("title"), 
358        'position': $(this).data('banner-index') 
359      }; 
360      promotionsObjectList.push(promotionsObject); 
361    }); 
362 
363    window.dataLayer.push({ 
364      'ecommerce': { 
365        'promoView': { 
366          'promotions': promotionsObjectList 
367
368
369    }); 
370    <#-- end of old GA3 --> 
371  }); 
372</script> 

Posao u A1

Provjeri koje su trenutno otvorene pozicije, kako poslati otvorenu molbu za posao i kako izgleda naš proces zapošljavanja.

Studenti i pripravnici

Kod nas trenutno radi preko 400 studenata – započni i ti svoju karijeru s nama! 

A1 Hrvatska Life

Kako je raditi u A1, kakva je naša kultura i što najviše volimo u svom poslu - saznaj kroz priče naših zaposlenika! 

Pogodnosti u A1

Vodimo brigu o našim zaposlenicima kako bi se oni mogli posvetiti našoj misiji, ali i svemu onome što im je važno u životu.

Mi smo A1 Hrvatska

 

Već smo 19 godina ponosni član A1 Telekom Austria Grupe, vodećeg pružatelja digitalnih servisa i komunikacijskih rješenja u središnjoj i istočnoj Europi, koji trenutačno zapošljava 19.000 zaposlenika te posluje u sedam država pružajući usluge za približno 24 milijuna korisnika

 

Na hrvatskom tržištu smo davne 1998. počeli kao start-up Vipnet d.o.o., i iako smo od tada značajno narasli, nikada nismo postali tipična korporacija. Uvijek smo bili dinamičniji od ostatka tržišta te brže odgovarali na potrebe naših korisnika. Odlukom A1 Telekom Austria Grupa, Vipnet d.o.o. je 2018. godine postao A1 Hrvatska d.o.o. 

 

Transformacija iz tradicionalnog telekom operatora u digitalnu kompaniju dio je naše evolucije. U tom su procesu presudni upravo ljudi, oko 2000 naših zaposlenika u Hrvatskoj, koji mijenjaju ustaljene procese i zadane norme te stvaraju nešto novo – inovacije za svijet u digitalno doba. 
 

Empowering digital life

 

 

Iako nitko ne zna kako će svijet izgledati 2050. godine, mi smo spremni na izazove budućnosti.

I zato je naša nova strategija i svrha: Empowering digital life.


 

Zašto A1 Hrvatska?


Odaberi karijeru koju ćeš voljeti 


U A1 Hrvatska, brojne su mogućnosti za razvoj karijere. I to ne bilo kakve, nego one koju ćeš voljeti! Imat ćeš slobodu i autonomiju u poslu te priliku da se razvijaš kroz rad na izazovnim projektima i inovativnim tehnologijama!

Potičemo internacionalnu suradnju kroz grupne projekte, a ako to želiš, možeš nastaviti razvijati svoju karijeru i u jednoj od sedam zemalja unutar A1 Grupe. Radit ćeš sa izvanrednim ljudima, kolegama od kojih možeš puno naučiti i koji će ti uvijek rado pomoći. Trenutno otvorene pozicije možeš pronaći na linku, a ako nisi pronašao ono što tražiš, možeš nam se javiti na mail karijere@A1.hr

Učimo jedni od drugih i razvijamo se kontinuirano, a posebno cijenimo “can-do” stav i preuzimanje inicijative. Grešaka se ne bojimo, sve dok iz njih učimo, jer vjerujemo da je to jedini pravi put za poticanje inovacija. Atmosfera u našim uredima je jako ugodna, komunikacija otvorena, svi smo na “TI”, a dress-code je ležeran.

Kod nas su stalne samo dinamika i promjene, ali zabave nam nikad ne nedostaje (savjet: i zato nikada ne ostavljaj svoj ekran otključan kad te nema u blizini! ;)) Naši kompanijski partiji su već postali legendarni! Naši ljudi dolaze sa smiješkom na posao, jer ovdje stvarno možeš biti svoj! 

Po svemu tome je naša kultura stvarno posebna (ili kako kaže jedan naš kolega: “Imamo svoj đir!” <3) 

 

Povjerenje

Povjerenje stvara okolinu u kojoj su znatiželja, otvorenost i suradnja ključne stavke. Mi u A1 vjerujemo u znanje i sposobnost svakog od naših kolega i težimo odnosu punom povjerenja s našim korisnicima, partnerima i kolegama. To nam pomaže da iz dana u dan rastemo i napredujemo.
 

Timski rad

Radimo zajedno na način da koristimo zajedničku snagu i kreativnost kako bismo što uspješnije izašli u susret našim korisnicima i udovoljili njihovim potrebama. Timski rad je izuzetno važan u našoj kompaniji te se svačije mišljenje cijeni i uzima u obzir.

 

Agilnost

Digitalni svijet se mijenja iz dana u dan i ne čeka nikoga da mu se prilagodi. Upravo zato mi smo znatiželjni, odlučni i reagiramo brzo. Nikad ne prestajemo učiti i uvijek otkrivamo nove načine i pristupe kako bismo bili u korak s tehnologijom i trendovima.

 

Korisničko iskustvo

Povjerenje korisnika za nas je apsolutni prioritet. Zbog toga uvijek razmišljamo o korisničkom iskustvu te kako ga unaprijediti. Bez korisnika-nema posla! Jednostavno je.