Latest jobs
Title | Location | Salary | Type |
---|
No job found
Location
Remote Working
We will Implement Remote working Arrangements in Darlington and Liverpool The Smarter Working Policy will identify the flexibility that each member of staff will have in being able to work from home, the office or another building.
View our locations on the map below.
Liverpool
10 Princes Parade
Liverpool L3
Darlington
Stephenson House
Alderman Best Way
Darlington
Durham
DL1 4WB
حصل خطأ عند معالجة القالب.
The following has evaluated to null or missing: ==> propsUtil.get(ucmLocaleKey) [in template "64056#64102#365043" at line 5, column 19] ---- 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 locale = propsUtil.get(ucmLoc... [in template "64056#64102#365043" at line 5, column 1] ----
1<div id="outer-footer" class="updatedFooter" style="padding-left: 0px; width: 1640px;">
2 <div id="inner-footer-expert" class="">
3
4<#assign ucmLocaleKey = themeDisplay.getLocale()+"."+siteType+"."+"ucmLocale">
5<#assign locale = propsUtil.get(ucmLocaleKey)/>
6<#assign apiUrl = propsUtil.get("WEB72_API_DOMAIN")/>
7
8<#assign lr74CutoverCountryCode = propsUtil.get("LR74_CUTOVER_COUNTRY_CODE")/>
9<#assign hays_logo = propsUtil.get("HAYS_LOGO")/>
10
11<#if lr74CutoverCountryCode??>
12<#list lr74CutoverCountryCode?split(",") as countryCode>
13 <#if countryCode = themeDisplay.getLocale()?keep_after_last("_") >
14 <#assign apiUrl = propsUtil.get("API_DOMAIN")/>
15 </#if>
16</#list>
17</#if>
18
19<#attempt>
20
21<#assign PortalCacheHelperUtil = staticUtil["com.liferay.portal.kernel.cache.PortalCacheHelperUtil"]>
22<#assign PortalCacheManagerNames = staticUtil["com.liferay.portal.kernel.cache.PortalCacheManagerNames"]>
23<#assign cacheName = "EXPERT_FOOTER_TEMPLATE_CACHE">
24<#assign cacheKey = "footerResponse_" + locale>
25<#assign cache = PortalCacheHelperUtil.getPortalCache(PortalCacheManagerNames.SINGLE_VM,cacheName)>
26<#assign response = (cache.get(cacheKey))?default("")>
27
28
29<#if response?has_content>
30<#assign responseObj = jsonFactoryUtil.createJSONObject(response)>
31<#else>
32<#assign response = httpUtil.URLtoString(apiUrl+"/o/HaysContentStructure/getcontentstructure/expertFooter/"+locale)>
33<#assign responseObj = jsonFactoryUtil.createJSONObject(response)>
34 ${cache.put(cacheKey,response,86400)}
35</#if>
36
37<#if responseObj?? && responseObj.results?? && responseObj.results?has_content>
38<#assign getResponseResultArray = responseObj.getJSONArray("results")>
39<div id="footer-bottom">
40 <#if getResponseResultArray.length() gt 0>
41 <#assign siteUrl = getResponseResultArray.get(0).siteUrl>
42
43 <#if getResponseResultArray.get(0).getJSONArray("GroupHeading")?? && getResponseResultArray.get(0).getJSONArray("GroupHeading").length()?? && getResponseResultArray.get(0).getJSONArray("GroupHeading").length() gt 1>
44
45 <#assign groupHeadingArr = getResponseResultArray.get(0).getJSONArray("GroupHeading")>
46 <div class="row single-col gpHeading">
47 <div class="col col-12">
48 <nav>
49 <ul>
50 <#list 0 ..< groupHeadingArr.length()?number as i>
51 <#if groupHeadingArr.get(i).Link?starts_with("/")>
52 <#assign linkUrl = siteUrl + groupHeadingArr.get(i).Link>
53 <li>
54 <a href="${linkUrl}" target="">${groupHeadingArr.get(i).GroupHeading}</a>
55 </li>
56 <#else>
57 <li>
58 <a href="${groupHeadingArr.get(i).Link}" target="">${groupHeadingArr.get(i).GroupHeading}</a>
59 </li>
60 </#if>
61 </#list>
62 </ul>
63 </nav>
64 </div>
65 </div>
66 <#elseif getResponseResultArray.get(0).getJSONArray("FooterLink")??>
67 <#assign FooterLinkArr = getResponseResultArray.get(0).getJSONArray("FooterLink")>
68 <div class="row single-col gpHeading">
69 <div class="col col-12">
70 <nav>
71 <ul>
72 <#list 0 ..< FooterLinkArr.length()?number as i>
73 <#assign linkUrl = FooterLinkArr.get(i).FooterLink?replace("href=\"/", "href=\""+siteUrl+"/" ) >
74 <li>
75 ${linkUrl}
76 </li>
77 </#list>
78 </ul>
79 </nav>
80 </div>
81 </div>
82
83 </#if>
84
85
86 <div class="footer-added">
87 <img src="${hays_logo}"></img>
88 <div class="copyright">
89 <p>
90 <p class="last">${getResponseResultArray.get(0).CopyrightHTML}</p>
91
92 </p>
93 </div>
94 </div>
95 </#if>
96</div>
97</#if>
98<#recover>
99
100</#attempt>
101
102
103 </div>
104</div>
105<script>
106window.addEventListener('DOMContentLoaded', function () {
107 var consent = document.getElementById("teconsent");
108
109 // Find the <ul> inside the nav of gpHeading
110 var ulElement = document.querySelector(".gpHeading nav ul");
111
112 if (consent && ulElement) {
113 var liWrapper = document.createElement("li");
114 liWrapper.appendChild(consent);
115 ulElement.appendChild(liWrapper);
116 } else {
117 console.log("Consent element or target UL not found.");
118 }
119});
120
121$(document).ready(function(){
122 if((Liferay.ThemeDisplay.getLanguageId() != "en_GB") && (location.href.indexOf("/web/") != -1)) {
123 console.log("link update required on the site");
124 $('a').each(function(index) {
125 var layoutRelativeUrl = Liferay.ThemeDisplay.getLayoutRelativeURL();
126 var getSiteUrl = layoutRelativeUrl.substring(0, layoutRelativeUrl.lastIndexOf("/"));
127 var linkVal = $(this).attr("href");
128 if((typeof linkVal !== "undefined") && linkVal.indexOf("https") == -1 && linkVal.indexOf("/")!= -1 && (linkVal.indexOf("/") === linkVal.lastIndexOf("/"))){
129 var updatedLink = getSiteUrl + linkVal ;
130 $(this).attr("href", updatedLink)
131 console.log("link updated - " + updatedLink);
132 }
133 });
134 }
135});
136</script>