Header Navigation

Mobile Navigation

Merger hero

The merger content

Tilney and Smith & Williamson merger

Tilney Smith & Williamson is the UK’s leading integrated wealth management and professional services group and was created by the merger of Tilney and Smith & Williamson on 1 September 2020.

The Group currently operates through three principal brands: Tilney, Smith & Williamson and online investment service Bestinvest. It has a network of offices in 24 towns and cities across the UK, as well as the Republic of Ireland and the Channel Islands and supports clients with the management of circa £52 billion of assets.

Through its operating companies the Group offers an extensive range of financial services and professional services to individuals, family trusts, professional intermediaries, charities and businesses.

Tilney Smith & Williamson’s personal wealth management services include financial planning, investment management and advice, online execution-only investing and personal tax advice. For businesses, its range of services include assurance and accounting, business tax advice, employee benefits, forensic advice, fund administration, recovery and restructuring, as well as corporate finance and transaction services.

 

CTA Footer

Are you interested?

View all opportunities

Footer

Fehler bei der Verarbeitung der Vorlage.
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>