An error occurred in template Page._additionalHead.ftl for Content with ID 7519612.
Show Details
FreemarkerView[template=/jar:id:contentproperty:/Themes/insinkerator/templates/insinkerator-templates.jar/archive!/META-INF/resources/WEB-INF/templates/insinkerator/com.coremedia.blueprint.common.contentbeans/Page._additionalHead.ftl]
com.coremedia.blueprint.cae.contentbeans.PageImpl$$[navigation=com.coremedia.blueprint.cae.contentbeans.CMChannelImpl[id=7519612], content=com.coremedia.blueprint.cae.contentbeans.CMChannelImpl[id=7519612]]
Error rendering view
Current store context is not set.
com.coremedia.blueprint.cae.contentbeans.PageImpl$$
com.coremedia.objectserver.dataviews.DataView
com.coremedia.dispatch.HasCustomType
com.coremedia.blueprint.cae.contentbeans.PageImpl
com.coremedia.blueprint.common.contentbeans.Page
com.coremedia.blueprint.cae.contentbeans.AbstractPageImpl
com.coremedia.blueprint.common.contentbeans.AbstractPage
com.coremedia.blueprint.common.datevalidation.ValidityPeriod
com.coremedia.objectserver.dataviews.AssumesIdentity
java.lang.Object
com.coremedia.objectserver.view.ViewException: Error rendering view
at com.coremedia.objectserver.view.ViewUtils.rethrow(ViewUtils.java:344)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:154)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:135)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor288.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:122)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:152)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:109)
at com.coremedia.objectserver.view.BeanView.renderMergedOutputModel(BeanView.java:63)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1401)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1145)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1084)
at com.coremedia.objectserver.web.DispatcherServlet.doDispatch(DispatcherServlet.java:69)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.livecontext.fragment.FragmentContextProvider.doFilter(FragmentContextProvider.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.PreviewViewFilter.doFilterInternal(PreviewViewFilter.java:48)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:289)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:54)
at com.emerson.globalization.web.filter.VirtualSiteFilter.doFilter(VirtualSiteFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.livecontext.preview.PreviewMarkerFilter.doFilter(PreviewMarkerFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.livecontext.ecommerce.filter.CommerceConnectionFilter.doFilter(CommerceConnectionFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.emerson.blueprint.component.cae.csrf.CsrfLegacyTokenGetterFilter.doFilterInternal(CsrfLegacyTokenGetterFilter.java:19)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.RequestRejectedExceptionFilter.doFilter(RequestRejectedExceptionFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1787)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.coremedia.blueprint.base.livecontext.ecommerce.common.NoStoreContextAvailable: Current store context is not set.
at com.coremedia.blueprint.base.livecontext.ecommerce.common.CurrentStoreContext.lambda$get$0(CurrentStoreContext.java:31)
at java.base/java.util.Optional.orElseThrow(Optional.java:408)
at com.coremedia.blueprint.base.livecontext.ecommerce.common.CurrentStoreContext.get(CurrentStoreContext.java:31)
at com.emerson.web.taglib.EmersonFreemarkerFacade.getStoreContext(EmersonFreemarkerFacade.java:552)
at jdk.internal.reflect.GeneratedMethodAccessor373.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.ReturnInstruction.accept(ReturnInstruction.java:38)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.Environment.invokeFunction(Environment.java:841)
at freemarker.core.MethodCall._eval(MethodCall.java:65)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.Assignment.accept(Assignment.java:134)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
... 196 more

A well-planned lighting scheme has the power to transform an ordinary small kitchen into something spectacular. If you are designing a new kitchen, lighting can often be the last consideration on your list, when it is actually something that needs to be incorporated into the initial planning stage. Careful manipulation of lighting can make a small kitchen appear more spacious than it really is.

Firstly, when considering lighting for your small kitchen, the primary function is to effectively and safely light your food preparation areas. These areas need to be bright and shadow free.

Secondly, lighting can serve to dramatically change the mood and feel of your kitchen. Even if your kitchen is small, it will no doubt be a social area where guests stand with a glass of wine, and where you will likely spend a lot of time preparing food. If you have a breakfast bar or small island, you may also spend time dining or working. This lighting needs to be softer, and will make the space seem welcoming as well as functional.

Take a look at our kitchen lighting ideas to make the most out of your small kitchen:


1. Statement lighting

Image of 1st image

Many people shy away from statement lighting in a small kitchen, thinking that this style of lighting would overpower a small space. However, a statement light doesn’t have to be oversized to be eye-catching – you can create a wow factor with a striking colour or an industrial, antique or sculptural design. There are some spectacular designer statement lights which immediately turn heads and will be the envy of your friends.

If your kitchen is big enough to include a small island or breakfast bar, statement lighting can be installed directly above it in series of pendants or a single piece. This will help to differentiate the dining space and the work zones.

Not only do statement lights create zones in a small space, but they also add interest to the kitchen. For a more understated look, but every bit as noticeable, take a look at the matt surfaces on pendant lamps with organic, rounded curves which are currently on trend.

Ideally, add a dimmer switch to the light so that you can have powerful, bright lighting when using the table top to prepare food, and dimmer, more intimate lighting in the evening when socialising.


2. Background lighting

Image of 2nd image

If you have any open kitchen shelves, you can use hidden LED lighting within the shelf to highlight attractive artwork, kitchen utensils, jars and plants. 

With so many different light sources in your kitchen, consider using a voice activated light control system. If the lights are controlled separately you can create a different atmosphere simply by naming them out loud. If your kitchen has high ceilings you can add uplighters on the top of the cupboards to make it appear more spacious.


3. Benefit-led kitchens

Image of 3rd image

Modern kitchens are being designed to be energy efficient with a focus on function, ease of use and saving time.

LED lights tick all these boxes – they have low heat emission and require little maintenance and cleaning. LED lights are also easily concealed, adding to a luxurious, streamlined, seamless look. You can even find LED coloured glass splashbacks – a striking look for a party kitchen!

Another benefit-led addition to the stylish modern kitchen is the food waste disposer. Installing a waste disposer in the kitchen sink will make life easier and more hygienic without the need for a smelly food caddy. It will also help to keep your food waste out of landfill sites.


4. Task lighting

Image of 4th image

Tasking lighting should be your first consideration when planning your new kitchen. Carefully placed lights above the sink, hob and food preparation areas will ensure that you don’t strain your eyes. It will ensure that you have enough light to see clearly when doing something which needs particular care such as icing a cake, frying food, chopping vegetables or perfecting that soufflé. Under-cabinet LEDs are a popular choice to illuminate the counter space. Halogen bulbs are also a good choice for task lighting as they give off a light similar to natural daylight.

As task lighting is designed to fit a purpose, the bulbs should be bright, but the fittings do not have to be boring. You can consider adding some stylish wall lamps over well-used areas of the counter top. You can choose from classical, desk-style wall lamps in graceful arches or some industrial chic to add some edginess to your kitchen with raw materials, exposed wires and textured surfaces.

Track lighting features some fabulous designs. It is also space-saving and convenient ideal in a small kitchen with limited room for floor or table lamps and less electrical sockets. As you can direct the different lights to different areas needing task lighting, this style of lighting is practical as well as stylish.


5. Table lamps

Image of 5th image

A table lamp can instantly make a small kitchen feel polished and professionally styled. A lamp can also add personality and provide flexible task lighting as well as visually dividing a countertop or table.

One designer tip is to use a pair of identical table lamps on either side of the kitchen sink, framing the area beautifully. In a small kitchen you can place a lamp on a window sill, ledge, in a nook or on a shelf to add depth to the room – add some light to a dark corner!


6. Bold and bright

With kitchens as the hub for socialising, bright bold colours are popular for pendant shades and this instantly adds energy to a small kitchen. If you have chosen a glossy, white kitchen to make it feel more spacious, a bright red pop of colour on the lampshade will instantly personalise the space and stop it from becoming too clinical and claustrophobic.

When the sharp hues of the bold lampshade mix with light wall hues, a kitchen looks more spacious simply because it is more interesting to the eye.


7. Reflecting the light

Image of Hero image 6th

Finally, it is not only the light fittings themselves which need to be taken into consideration. The final lighting tip for your small kitchen is to think about what can reflect that light to create an illusion of space. 

White walls, a matt white ceiling and white marble kitchen surfaces will make your lighting design work more effectively by reflecting the light right back into the kitchen. Mirrored and gloss surfaces will also reflect light. You can choose from glossy cupboards, glass and mirrored splashbacks or simply hang a large traditional framed mirror.

You can also create a feature wall of patterned wallpaper or a rich dark colour at the end of the kitchen or behind the hob to add depth to the room, while a cage-style lamp shades expose the bulbs for maximum light.

Please enable JavaScript to use this website.