An error occurred while processing the template.
The following has evaluated to null or missing:
==> request.getCookies()  [in template "35001#35028#2420792" at line 11, 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: #local cookies = request.getCookies()  [in template "35001#35028#2420792" in function "isAlertHidden" at line 11, column 1]
----
1<#compress> 
2<#assign 
3utilname = "com.liferay.portal.kernel.servlet.taglib.ui.BreadcrumbUtil" 
4type_any = staticUtil[utilname].ENTRY_TYPE_ANY 
5breadcrumbEntries = staticUtil[utilname].getBreadcrumbEntries(request, [type_any]) 
6
7 
8<#if serviceLocator?? && entries?has_content> 
9 
10<#function isAlertHidden alertId> 
11<#local cookies = request.getCookies()>  
12    <#list cookies as cookie> 
13        <#if cookie.getValue()?matches(alertId)> 
14        <#return true> 
15        </#if> 
16    </#list> 
17        <#return false> 
18</#function> 
19 
20<#function normalAlert entry> 
21    <#if (alertType?contains('value 1') || alertType?contains('value 2'))><#return true></#if> 
22  <#return false> 
23</#function> 
24 
25<script> 
26function hideAlert(alertId) {  
27  var now = new Date(); 
28  var time = now.getTime(); 
29  var expireTime = time + 1000*36000; 
30  now.setTime(expireTime); 
31  document.cookie = 'alertHidden=' + alertId + ';expires='+now.toUTCString()+';path=/'; 
32
33</script> 
34 
35<style> 
36 
37.portlet:first-of-type{ 
38margin-bottom:0px!important; 
39
40 
41.alert-body { 
42 max-width: 1228px; 
43 width: 100%; 
44 padding: 0 1rem 0 1rem; 
45 margin-top: 0.8rem; 
46
47 
48.alert-body-wide { 
49  background-color:#fc0; 
50  width: 100vw; 
51  position: relative; 
52  left: calc(-51vw + 50.5%); 
53  margin-top: -1.1rem; 
54
55 
56 
57.lexicon-icon-exclamation-full { 
58    height: 1.3em; 
59    width: 1.3em; 
60
61 
62.alert { 
63    margin-bottom: -1.5rem; 
64
65 
66.alert h2 { 
67    margin-top: 0rem; 
68    margin-bottom: 0rem;  
69    color:#FFFFFF; 
70    font-size: 1.25rem; 
71     
72
73 
74.alert-primary { 
75    background-color: #FFFFFF; 
76    border-color: rgb(0 0 0 / 0%); 
77
78     
79.alert-top { 
80    width: 100%; 
81}  
82 
83.red-background { 
84    background-color:#D4351C; 
85
86 
87.bg-black { 
88    background-color:#000000; 
89
90 
91	.alert-primary .close { 
92    color: #000000; 
93    font-size: 2rem; 
94    float:right; 
95    position: inherit; 
96    margin-top: 0.5rem; 
97
98    .alert-text-primary { 
99    color: #000000!important;  
100    border: 6px #000000 solid!important; 
101
102     
103    .alert-text-red { 
104        color: #000000!important;  
105	border: 6px #D4351C solid!important; 
106
107     
108    .alert-text-yellow { 
109    color: #000000!important;  
110	border: 6px #D4351C solid!important; 
111
112     
113	</style>     
114 
115 
116    <#assign journalArticleRetrievalService = serviceLocator.findService("com.placecube.journal.service.JournalArticleRetrievalService") /> 
117         
118	<#assign journalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleService") /> 
119	     
120	<#assign getterUtil = staticUtil["com.liferay.portal.kernel.util.GetterUtil"] /> 
121	     
122	     
123	<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
124	     
125	<#assign AssetCategoryService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService")> 
126	 
127 
128	    <#list entries as curEntry> 
129 
130	        <#assign journalArticle = journalArticleService.getLatestArticle(curEntry.getClassPK()) /> 
131	 
132	        <#assign alertBody = journalArticleRetrievalService.getFieldValue(journalArticle,"alertBody",locale) /> 
133	 
134	        <#assign body = alertBody.get() /> 
135 
136            <#assign alertId = curEntry.entryId?c> 
137                 
138            <#assign alertDismiss = journalArticleRetrievalService.getFieldValue(journalArticle,"select_dismiss",locale) /> 
139         
140            <#assign alertType = journalArticleRetrievalService.getFieldValue(journalArticle,"select_type",locale) /> 
141             
142                        <#if alertType?contains('value 3')> 
143                            <div class="alert alert-primary <#if alertDismiss?contains('value 1')>alert-dismissible</#if> p-0" role="alert"> 
144                                <div class="alert-body-wide d-flex justify-content-center"> 
145                                    <div class="alert-body"> 
146                                    <div class="alert-top alert-warning px-3"> 
147                                        <#if alertDismiss?contains('value 1')> 
148                                            <button type="button" id ="alertClose" onclick="hideAlert(${alertId})" class="close text-dark mt-2"  data-dismiss="alert" aria-label="Close"> 
149                                                <span aria-hidden="true">&times;</span> 
150                                            </button> 
151                                        </#if> 
152                                        <h2 class="text-dark"> 
153                                        <svg class="lexicon-icon lexicon-icon-exclamation-full" viewBox="0 0 512 512"> 
154                                            <path class="lexicon-icon-outline" d="M256,0C114.6,0,0,114.6,0,256s114.6,256,256,256s256-114.6,256-256S397.4,0,256,0z M256,384c-17.7,0-32-14.3-32-32 
155    s14.3-32,32-32s32,14.3,32,32S273.7,384,256,384z M272,288h-32l-16-160h64L272,288z"></path> 
156                                        </svg> Important 
157                                        </h2> 
158                                    </div> 
159                                    <div class="alert-text alert-warning px-3"> 
160                                            <h3 class="mt-2">${curEntry.getTitle(locale)}</h3> 
161                                                <p>${body}</p> 
162                                    </div> 
163                                </div> 
164                            </div> 
165                        </#if> 
166                 
167                <#list curEntry.categories as category> 
168                 
169                    <#assign cat = category.getName()?lower_case /> 
170                    <#assign cat2 = cat?replace("and ", "")/> 
171                    <#assign cat3 = cat2?replace(",", "")/> 
172                        <#list breadcrumbEntries as breadcrumb> 
173                     
174                        <#assign breadcrumbLevel = breadcrumb.getTitle()?lower_case/> 
175                        <#assign breadcrumbLevelLower = breadcrumbLevel?replace(",", "")/> 
176                        <#assign breadcrumbLevelLower2 = breadcrumbLevelLower?replace("and ", "")/> 
177                        <#assign breadcrumbLevelLower3 = breadcrumbLevelLower2?replace(" information", "")/> 
178                         
179                        <#--<p>Breadcrumb level: : ${breadcrumbLevelLower3}</p>--> 
180 
181                            <#if !isAlertHidden(alertId)> 
182 
183                          <#--<p>Alert category : ${cat3}</p>--> 
184 
185                        	    <#if breadcrumbLevelLower3?matches(cat3) || !cat3?has_content> 
186 
187                     
188                                    <#if normalAlert??> 
189                                <div class="alert alert-primary d-flex justify-content-center <#if alertDismiss?contains('value 1')>alert-dismissible</#if> p-0 mb-2" role="alert"> 
190                                    <div class="alert-body"> 
191                                        <div class="alert-top 
192                                            <#if alertType?contains('value 1')>red-background</#if> 
193                                            <#if alertType?contains('value 2')>bg-black</#if> px-3"> 
194                                            <#if alertDismiss?contains('value 1')> 
195                                                <button type="button" id ="alertClose" onclick="hideAlert(${alertId})" class="close text-light"  data-dismiss="alert" aria-label="Close"> 
196                                                    <span aria-hidden="true">&times;</span> 
197                                                </button> 
198                                            </#if> 
199                                            <h2> 
200                                            <svg class="lexicon-icon lexicon-icon-exclamation-full" viewBox="0 0 512 512"> 
201                                                <path class="lexicon-icon-outline" d="M256,0C114.6,0,0,114.6,0,256s114.6,256,256,256s256-114.6,256-256S397.4,0,256,0z M256,384c-17.7,0-32-14.3-32-32 
202        s14.3-32,32-32s32,14.3,32,32S273.7,384,256,384z M272,288h-32l-16-160h64L272,288z"></path> 
203                                            </svg>  
204                                            <#if alertType?contains('value 1')>Warning</#if> 
205                                            <#if alertType?contains('value 2')>Important</#if> 
206                                            </h2> 
207                                        </div> 
208                                        <div class=" 
209                                            <#if alertType?contains('value 1')>alert-text-red</#if> 
210                                            <#if alertType?contains('value 2')>alert-text-primary</#if> px-3"> 
211                                                <h3 class="mt-2">${curEntry.getTitle(locale)}</h3> 
212                                                    <p>${body}</p> 
213                                        </div> 
214                                    </div> 
215                                </div> 
216                                    </#if> 
217                                </#if> 
218                            </#if>   
219                        </#list>   
220                </#list>     
221        </#list>  
222    </#if> 
223</#compress> 

Dorset Council's SEND Local Offer

Our Local Offer provides information, advice and support for children and young people aged from 0 to 25 years with special educational needs and disabilities (SEND) and their families.

What is SEND?

Children and young people with SEND may have learning difficulties or disabilities that make it harder for them to learn. They may struggle to make friends, or their physical ability is affected. They often need extra help and support. 

On the following pages, you can find information and signposting to help children, young people and their families get the right help and support to meet their needs.

Find advice and support in our Local Offer

EHCP girl with ipod

Support for children and young people with SEND in early years, school or college.
EHCP boy reading

Health information and support for children and young people with SEND and their families.
EHCP boy in wheelchair with mum

Information about home to school travel assistance and other support to get mobile.
EHCP girl with guitar

Details of activities, short breaks and events in Dorset.
EHCP girl with earphones

Learn about the options open to you if you are aged 14 to 25.
EHCP woman with tablet

Information about benefits, financial support to cover unexpected costs and help towards childcare costs.
EHCP man and boy

Information, support and advice to help with pre-school aged children from 0 to 5 years.
Xchange photoshop

Sign up to get discounts for venues and events, news and information, short breaks and opportunities to have your say.