Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
Liferay 7.2 - use freemarker variables in layouttpl
Hi,
I'm trying to use a freemarker variable inside a custom layout template. Below an example of using layout variable.
<div class="columns-1" id="main-content" role="main">
<div class="portlet-layout row">
<div class="col-md-6" id="column-1">
<h1>${layout.getName(locale)}</h1>
</div>
<div class="portlet-column portlet-column-only col-md-6" id="column-1">
${processor.processColumn("column-1", "portlet-column-content portlet-column-content-only")}
</div>
</div>
</div>
When I deploy this template inside a module (war file), I get below error at deployment. That problem happens with any freemarker variable usage.
Even so, module is active and I see my layout when configuring a page. But, when I select it to apply it on that page, I get a Caused by: java.lang.ArrayIndexOutOfBoundsException: -1 exception.
2022-04-10 23:04:32.632 ERROR [Refresh Thread: Equinox Container:
b4110e7e-3c9b-46c9-951d-eb4ff8a955b9][runtime:59] Error executing
FreeMarker template
FreeMarker template error:
The
following has evaluated to null or missing:
==> layout [in
template "null_CUSTOM_my-layout" at line 5, column 15]
----
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: ${layout.getName(locale)}
[in template "null_CUSTOM_my-layout" at line 5, column
13]
----
Java stack trace (for programmers):
----
freemarker.core.InvalidReferenceException: [... Exception message
was already printed; see it above ...]
at
freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
at
freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85)
at
freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:48)
at
freemarker.core.NonHashException.<init>(NonHashException.java:49)
at freemarker.core.Dot._eval(Dot.java:48)
at
freemarker.core.Expression.eval(Expression.java:101)
at
freemarker.core.MethodCall._eval(MethodCall.java:55)
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:331)
at freemarker.core.Environment.visit(Environment.java:337)
at
freemarker.core.Environment.process(Environment.java:310)
at freemarker.template.Template.process(Template.java:383)
at
com.liferay.portal.template.freemarker.internal.FreeMarkerTemplate.processTemplate(FreeMarkerTemplate.java:154)
at
com.liferay.portal.template.BaseTemplate.processTemplate(BaseTemplate.java:135)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl._getColumns(LayoutTemplateLocalServiceImpl.java:519)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl.readLayoutTemplate(LayoutTemplateLocalServiceImpl.java:391)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl._readLayoutTemplates(LayoutTemplateLocalServiceImpl.java:598)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl.init(LayoutTemplateLocalServiceImpl.java:262)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
at
com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
at com.sun.proxy.$Proxy137.init(Unknown Source)
at
com.liferay.portal.kernel.service.LayoutTemplateLocalServiceUtil.init(LayoutTemplateLocalServiceUtil.java:92)
at
com.liferay.portal.deploy.hot.LayoutTemplateHotDeployListener.doInvokeDeploy(LayoutTemplateHotDeployListener.java:94)
at
com.liferay.portal.deploy.hot.LayoutTemplateHotDeployListener.invokeDeploy(LayoutTemplateHotDeployListener.java:46)
at
com.liferay.portal.deploy.hot.HotDeployImpl.doFireDeployEvent(HotDeployImpl.java:226)
at
com.liferay.portal.deploy.hot.HotDeployImpl.fireDeployEvent(HotDeployImpl.java:96)
at
com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:27)
at
com.liferay.portal.kernel.servlet.PluginContextListener.fireDeployEvent(PluginContextListener.java:189)
at
com.liferay.portal.kernel.servlet.PluginContextListener.doPortalInit(PluginContextListener.java:179)
at
com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:44)
at
com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:75)
at
com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:57)
at
com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:55)
at
com.liferay.portal.kernel.servlet.PluginContextListener.contextInitialized(PluginContextListener.java:141)
at
com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletContextListenerExceptionAdapter._initializeContext(ServletContextListenerExceptionAdapter.java:119)
at
com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletContextListenerExceptionAdapter.contextInitialized(ServletContextListenerExceptionAdapter.java:99)
at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.eclipse.equinox.http.servlet.internal.registration.ListenerRegistration$EventListenerInvocationHandler.invoke(ListenerRegistration.java:143)
at com.sun.proxy.$Proxy493.contextInitialized(Unknown
Source)
at
org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddListenerRegistration(ContextController.java:350)
at
org.eclipse.equinox.http.servlet.internal.context.ContextController.addListenerRegistration(ContextController.java:303)
at
org.eclipse.equinox.http.servlet.internal.customizer.ContextListenerTrackerCustomizer.addingService(ContextListenerTrackerCustomizer.java:71)
at
org.eclipse.equinox.http.servlet.internal.customizer.ContextListenerTrackerCustomizer.addingService(ContextListenerTrackerCustomizer.java:1)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903)
at
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.initListeners(WabBundleProcessor.java:625)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.init(WabBundleProcessor.java:231)
at
com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer._initWabBundle(WebBundleDeployer.java:159)
at
com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer.doStart(WebBundleDeployer.java:88)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabFactory$WABExtension.start(WabFactory.java:113)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle(WabFactory.java:66)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle(WabFactory.java:48)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:475)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
at
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:230)
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:137)
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:129)
at
org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:191)
at
org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
at
org.eclipse.osgi.container.Module.doStart(Module.java:578)
at org.eclipse.osgi.container.Module.start(Module.java:449)
at
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
at
org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:777)
at
org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:768)
at
org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:538)
at
org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:484)
at
org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:1028)
at
org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1409)
at
org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
2022-04-10 23:04:32.636 ERROR [Refresh Thread: Equinox Container:
b4110e7e-3c9b-46c9-951d-eb4ff8a955b9][LayoutTemplateLocalServiceImpl:524]
Unable to get layout template columns
com.liferay.portal.kernel.template.TemplateException: Unable to
process template null_CUSTOM_my-layout
at
com.liferay.portal.template.BaseTemplate.processTemplate(BaseTemplate.java:140)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl._getColumns(LayoutTemplateLocalServiceImpl.java:519)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl.readLayoutTemplate(LayoutTemplateLocalServiceImpl.java:391)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl._readLayoutTemplates(LayoutTemplateLocalServiceImpl.java:598)
at
com.liferay.portal.service.impl.LayoutTemplateLocalServiceImpl.init(LayoutTemplateLocalServiceImpl.java:262)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
com.liferay.portal.spring.aop.AopMethodInvocationImpl.proceed(AopMethodInvocationImpl.java:50)
at
com.liferay.portal.spring.aop.AopInvocationHandler.invoke(AopInvocationHandler.java:49)
at com.sun.proxy.$Proxy137.init(Unknown Source)
at
com.liferay.portal.kernel.service.LayoutTemplateLocalServiceUtil.init(LayoutTemplateLocalServiceUtil.java:92)
at
com.liferay.portal.deploy.hot.LayoutTemplateHotDeployListener.doInvokeDeploy(LayoutTemplateHotDeployListener.java:94)
at
com.liferay.portal.deploy.hot.LayoutTemplateHotDeployListener.invokeDeploy(LayoutTemplateHotDeployListener.java:46)
at
com.liferay.portal.deploy.hot.HotDeployImpl.doFireDeployEvent(HotDeployImpl.java:226)
at
com.liferay.portal.deploy.hot.HotDeployImpl.fireDeployEvent(HotDeployImpl.java:96)
at
com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:27)
at
com.liferay.portal.kernel.servlet.PluginContextListener.fireDeployEvent(PluginContextListener.java:189)
at
com.liferay.portal.kernel.servlet.PluginContextListener.doPortalInit(PluginContextListener.java:179)
at
com.liferay.portal.kernel.util.BasePortalLifecycle.portalInit(BasePortalLifecycle.java:44)
at
com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:75)
at
com.liferay.portal.kernel.util.PortalLifecycleUtil.register(PortalLifecycleUtil.java:57)
at
com.liferay.portal.kernel.util.BasePortalLifecycle.registerPortalLifecycle(BasePortalLifecycle.java:55)
at
com.liferay.portal.kernel.servlet.PluginContextListener.contextInitialized(PluginContextListener.java:141)
at
com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletContextListenerExceptionAdapter._initializeContext(ServletContextListenerExceptionAdapter.java:119)
at
com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletContextListenerExceptionAdapter.contextInitialized(ServletContextListenerExceptionAdapter.java:99)
at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown
Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.eclipse.equinox.http.servlet.internal.registration.ListenerRegistration$EventListenerInvocationHandler.invoke(ListenerRegistration.java:143)
at com.sun.proxy.$Proxy493.contextInitialized(Unknown
Source)
at
org.eclipse.equinox.http.servlet.internal.context.ContextController.doAddListenerRegistration(ContextController.java:350)
at
org.eclipse.equinox.http.servlet.internal.context.ContextController.addListenerRegistration(ContextController.java:303)
at
org.eclipse.equinox.http.servlet.internal.customizer.ContextListenerTrackerCustomizer.addingService(ContextListenerTrackerCustomizer.java:71)
at
org.eclipse.equinox.http.servlet.internal.customizer.ContextListenerTrackerCustomizer.addingService(ContextListenerTrackerCustomizer.java:1)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
at
org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903)
at
org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:109)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:891)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:804)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:127)
at
org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:228)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:469)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:487)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1004)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.initListeners(WabBundleProcessor.java:625)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabBundleProcessor.init(WabBundleProcessor.java:231)
at
com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer._initWabBundle(WebBundleDeployer.java:159)
at
com.liferay.portal.osgi.web.wab.extender.internal.WebBundleDeployer.doStart(WebBundleDeployer.java:88)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabFactory$WABExtension.start(WabFactory.java:113)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle(WabFactory.java:66)
at
com.liferay.portal.osgi.web.wab.extender.internal.WabFactory.addingBundle(WabFactory.java:48)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:475)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
at
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450)
at
org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:230)
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:137)
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:129)
at
org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:191)
at
org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
at
org.eclipse.osgi.container.Module.doStart(Module.java:578)
at org.eclipse.osgi.container.Module.start(Module.java:449)
at
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
at
org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:777)
at
org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:768)
at
org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:538)
at
org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:484)
at
org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:1028)
at
org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1409)
at
org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1)
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: freemarker.core.InvalidReferenceException: The following
has evaluated to null or missing:_==> layout [in template
"null_CUSTOM_my-layout" at line 5, column 15]__----_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: ${layout.getName(locale)}
[in template "null_CUSTOM_my-layout" at line 5, column
13]_---- [Sanitized]
at
freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
at
freemarker.core.UnexpectedTypeException.newDescriptionBuilder(UnexpectedTypeException.java:85)
at
freemarker.core.UnexpectedTypeException.<init>(UnexpectedTypeException.java:48)
at
freemarker.core.NonHashException.<init>(NonHashException.java:49)
at freemarker.core.Dot._eval(Dot.java:48)
at
freemarker.core.Expression.eval(Expression.java:101)
at
freemarker.core.MethodCall._eval(MethodCall.java:55)
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:331)
at freemarker.core.Environment.visit(Environment.java:337)
at
freemarker.core.Environment.process(Environment.java:310)
at freemarker.template.Template.process(Template.java:383)
at
com.liferay.portal.template.freemarker.internal.FreeMarkerTemplate.processTemplate(FreeMarkerTemplate.java:154)
at
com.liferay.portal.template.BaseTemplate.processTemplate(BaseTemplate.java:135)
... 80 more
2022-04-10 23:04:32.678 INFO [Refresh Thread:
Equinox Container:
b4110e7e-3c9b-46c9-951d-eb4ff8a955b9][LayoutTemplateHotDeployListener:110]
36 layout templates for custom-layouts are available for use
2022-04-10 23:04:32.745 INFO [Refresh Thread: Equinox Container:
b4110e7e-3c9b-46c9-951d-eb4ff8a955b9][BundleStartStopLogger:46]
STARTED custom-layouts_1.0.0 [1142]
Thanks,
Any idea on this ? Thanks,
Powered by Liferay™