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

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