function detail page
"laurent.druart via opencms-dev" <[email protected]>
| Newsgroups | gmane.comp.cms.opencms.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello,
I’ve an issue with function detail page in OpenCMS 21.
I’ve a dynamic function rendering a list of dynamic content from a db. On each row I’ve a link to a function detail page like this:
<a href="${cms.functionDetail['raceDetail']}?idRace=${race.nrRace}">
I created a second dynamic function, the function associated with the function detail page. Let’s name this function raceDetail
To hide this function in the wizard in put property search.exclude to all
In .config of my module I added a « named function » named raceDetail and in « Function » the path to the xml configuration of the function
I added on my page template a property container.info <http://container.info/> with value functionDetail=maincontainer
maincontainer is the main container in my template.
In app Sitemap I tried to drag and drop the detail page « raceDetail function detail page » in my « technical » folder detail_pages and I got the error you can find bellow
Function detail container not found for "/sites/mysite/.content/.templates/blank.html".
Ticket Id: 1786458784909
org.opencms.main.CmsException: Function detail container not found for "/sites/mysite/.content/.templates/blank.html".
org.opencms.ade.sitemap.CmsVfsSitemapService.createNewEntry(CmsVfsSitemapService.java:2003)
org.opencms.ade.sitemap.CmsVfsSitemapService.applyChange(CmsVfsSitemapService.java:1479)
org.opencms.ade.sitemap.CmsVfsSitemapService.saveInternal(CmsVfsSitemapService.java:1373)
org.opencms.ade.sitemap.CmsVfsSitemapService.save(CmsVfsSitemapService.java:1154)
jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
java.lang.reflect.Method.invoke(Method.java:580)
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:349)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:319)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:389)
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
org.opencms.gwt.CmsGwtService.service(CmsGwtService.java:215)
org.opencms.main.OpenCmsCore.invokeGwtService(OpenCmsCore.java:2238)
org.opencms.main.OpenCmsServlet.doGet(OpenCmsServlet.java:360)
org.opencms.main.OpenCmsServlet.doPost(OpenCmsServlet.java:381)
javax.servlet.http.HttpServlet.service(HttpServlet.java:555)
javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
org.opencms.jsp.jsonpart.CmsJsonPartFilter.doFilter(CmsJsonPartFilter.java:298)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:63)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:619)
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:399)
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:338)
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:283)
org.opencms.main.OpenCmsUrlServletFilter.doFilter(OpenCmsUrlServletFilter.java:145)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
org.apache.logging.log4j.web.Log4jServletFilter.doFilter(Log4jServletFilter.java:70)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:764)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1309)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1854)
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
java.lang.Thread.run(Thread.java:1583)
I found a workaround:
drag and drop of a normal page in my detail_pages folder
in sitemap config in tab « detail pages » add a detail page for type function@raceDetail associated to the new page in detail_pages folder
remove search.exclude=all from the detail function
drag and drop of this function to the new page in detail_pages folder
add search.exclude=all to the detail function
It works but is it the best way to achieve it?
Thanks for your help
Best regards,
Laurent
_______________________________________________
This mail is sent to you from the opencms-dev mailing list
To change your list options, or to unsubscribe from the list, please visit
https://lists.opencms.org/mailman/listinfo/opencms-dev