Opportunities with
York St John University
View latest jobs About York St John University
York St John University has provided outstanding higher education in the heart of York since 1841, and our founding mission is to improve access to education for people from all walks of life.
We are now home to almost 8,500 students from over 100 countries studying courses across the sciences, arts, humanities, education and business at our campuses in York and London. York St John is known as a transformative institution – over 60% of our students are from a background underrepresented in higher education. We are committed to equality and social justice for our whole university community and strive to remove barriers which unfairly stop individuals from fulfilling their potential. With campuses in York and London, we are well positioned to support our students and staff to succeed.
The following has evaluated to null or missing: ==> propsUtil.get(ucmLocaleKey) [in template "64056#64102#365043" at line 28, 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 28, column 1] ----
1<div id="outer-footer" class="updatedFooter" style="padding-left: 0px; width: 1640px;">
2 <div id="inner-footer-expert" class="">
3 <div id="footerLogo">
4 <#--<#if FooterLogo.getData()?? && FooterLogo.getData() != "">
5 <#assign footerLogoHTML = "${FooterLogo.getData()}"/>
6 <#if (footerLogoHTML?length > 0)>
7 ${footerLogoHTML}
8 <#else>
9 <img src="https://www/hays.co.uk/cs/HaysMicroSites/assets/img/hayslogo.gif" id="defaultLogo" alt="Hays
10 footer logo">
11 </#if>
12 </#if>-->
13 <#assign haysLogo = propsUtil.get("HAYS_LOGO_WEB2")/>
14 <img src="${haysLogo}" id="defaultLogo" alt="Hays
15 footer logo" style="max-width:200px!important;margin:0px 15px;">
16 </div>
17 <div id="footerLogo-Links">
18 <#if Link.getSiblings()?has_content>
19 <#list Link.getSiblings() as cur_Link>
20 <#if cur_Link.getData()?? && cur_Link.getData() != "">
21 <#assign linkData = "${cur_Link.getData()}"/>
22 ${linkData}
23 </#if>
24 </#list>
25 </#if>
26 </div>
27 <#assign ucmLocaleKey = themeDisplay.getLocale()+"."+siteType+"."+"ucmLocale">
28<#assign locale = propsUtil.get(ucmLocaleKey)/>
29<#assign apiUrl = propsUtil.get("WEB72_API_DOMAIN")/>
30
31<#assign lr74CutoverCountryCode = propsUtil.get("LR74_CUTOVER_COUNTRY_CODE")/>
32<#if lr74CutoverCountryCode??>
33<#list lr74CutoverCountryCode?split(",") as countryCode>
34 <#if countryCode = themeDisplay.getLocale()?keep_after_last("_") >
35 <#assign apiUrl = propsUtil.get("API_DOMAIN")/>
36 </#if>
37</#list>
38</#if>
39
40<#attempt>
41
42<#if httpUtil.URLtoString(apiUrl+"/o/HaysContentStructure/getcontentstructure/expertFooter/"+locale)??>
43<#assign response = httpUtil.URLtoString(apiUrl+"/o/HaysContentStructure/getcontentstructure/expertFooter/"+locale)>
44<#assign responseObj = jsonFactoryUtil.createJSONObject(response)>
45<#if responseObj?? && responseObj.results?? && responseObj.results?has_content>
46<#assign getResponseResultArray = responseObj.getJSONArray("results")>
47<div id="footer-bottom">
48 <#if getResponseResultArray.length() gt 0>
49 <#assign siteUrl = getResponseResultArray.get(0).siteUrl>
50
51 <#if getResponseResultArray.get(0).getJSONArray("GroupHeading")?? && getResponseResultArray.get(0).getJSONArray("GroupHeading").length()?? && getResponseResultArray.get(0).getJSONArray("GroupHeading").length() gt 1>
52
53 <#assign groupHeadingArr = getResponseResultArray.get(0).getJSONArray("GroupHeading")>
54 <div class="row single-col gpHeading">
55 <div class="col col-12">
56 <nav>
57 <ul>
58 <#list 0 ..< groupHeadingArr.length()?number as i>
59 <#if groupHeadingArr.get(i).Link?starts_with("/")>
60 <#assign linkUrl = siteUrl + groupHeadingArr.get(i).Link>
61 <li>
62 <a href="${linkUrl}" target="">${groupHeadingArr.get(i).GroupHeading}</a>
63 </li>
64 <#else>
65 <li>
66 <a href="${groupHeadingArr.get(i).Link}" target="">${groupHeadingArr.get(i).GroupHeading}</a>
67 </li>
68 </#if>
69 </#list>
70 </ul>
71 </nav>
72 </div>
73 </div>
74 <#elseif getResponseResultArray.get(0).getJSONArray("FooterLink")??>
75 <#assign FooterLinkArr = getResponseResultArray.get(0).getJSONArray("FooterLink")>
76 <div class="row single-col">
77 <div class="col col-12">
78 <nav>
79 <ul>
80 <#list 0 ..< FooterLinkArr.length()?number as i>
81 <#assign linkUrl = FooterLinkArr.get(i).FooterLink?replace("href=\"/", "href=\""+siteUrl+"/" ) >
82 <li>
83 ${linkUrl}
84 </li>
85 </#list>
86 </ul>
87 </nav>
88 </div>
89 </div>
90
91 </#if>
92 <div class="row single-col">
93 <div class="col col-12">
94 <p class="last">${getResponseResultArray.get(0).CopyrightHTML}</p>
95 </div>
96 </div>
97 </#if>
98</div>
99</#if>
100</#if>
101<#recover>
102
103</#attempt>
104
105 <div id="copyright-text">
106 <#if CopyrightText?? && CopyrightText.getData()?? && CopyrightText.getData() != "">
107 ${CopyrightText.getData()}
108 </#if>
109 </div>
110 </div>
111</div>
112<script>
113$(document).ready(function(){
114 if((Liferay.ThemeDisplay.getLanguageId() != "en_GB") && (location.href.indexOf("/web/") != -1)) {
115 console.log("link update required on the site");
116 $('a').each(function(index) {
117 var layoutRelativeUrl = Liferay.ThemeDisplay.getLayoutRelativeURL();
118 var getSiteUrl = layoutRelativeUrl.substring(0, layoutRelativeUrl.lastIndexOf("/"));
119 var linkVal = $(this).attr("href");
120 if((typeof linkVal !== "undefined") && linkVal.indexOf("https") == -1 && linkVal.indexOf("/")!= -1 && (linkVal.indexOf("/") === linkVal.lastIndexOf("/"))){
121 var updatedLink = getSiteUrl + linkVal ;
122 $(this).attr("href", updatedLink)
123 console.log("link updated - " + updatedLink);
124 }
125 });
126 }
127});
128</script>