Login  Register

Añadir enlaces en top_bar

classic Classic list List threaded Threaded
7 messages Options Options
Embed post
Permalink
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Añadir enlaces en top_bar

marife
This post was updated on Oct 30, 2013; 1:41pm.
Hola a todos.

He añadido un link en el macro "top_bar", para que aparezca antes de la ruta (breadcrumbs) con éxito:

Macro "top_bar":
<override_macro name="top_bar">  
    <div class="top-bar">  
        <div class="breadcrumbs" style="float:left">  
			<a href="http://www.link1.com" target="_blank" title="link1">link1</a> &rsaquo;  
            <n.breadcrumbs/>  
        </div>  
        <div style="text-align:right;">  
            <n.user_header/>  
        </div>  
    </div>  
</override_macro>  

Todos los usuarios lo ven y pueden enlazar a este link.

Pero lo que necesito es que si el usuario pertenece al grupo "Members" el enlace sea otro distinto (link2).

O sea que todo el mundo vea el link1, pero si un usuario inicia sesión y pertenece al grupo "Members" el link1 se convierta en link2

He probado con esto:

<override_macro name="top_bar">
    <div class="top-bar">
        <div class="breadcrumbs" style="float:left">
			<n.if.visitor.is_in_group group='Members'>
				<then>
					<a href="http://www.link2.com" target="_blank" title="link2">Link2</a> &rsaquo;
				</then>
				<else>
					<a href="http://www.link1.com" target="_blank" title="link1">Link1</a> &rsaquo;
				</else>
			</n.if.visitor.is_in_group>
            <n.breadcrumbs/>
        </div>
        <div style="text-align:right;">
            <n.user_header/>
        </div>
    </div>
</override_macro>

Guarda los cambios correctamente, pero cuando abro cualquier página del foro me muestra una página de error de código.

Alguien con experiencia en Naml, me puede orientar?

Gracias de antemano
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Añadir enlaces en top_bar

Mencey Melgar
Hola marife,

He probado a implementar este código en mi foro y funciona bien, quizás tienes otro elemento en tu código que no funciona bien. Podrias poner aquí el error exacto que te causa?

De todas formas, prueba poniendo el <n.breadcrumbs/>  al final de cada condición, quizás te funcione:

<override_macro name="top_bar">  
    <div class="top-bar">  
        <div class="breadcrumbs" style="float:left">  
            <n.if.visitor.is_in_group group='Members'>  
                <then>  
                    <a href="http://www.link2.com" target="_blank" title="link2">Link2</a> &rsaquo;  <n.breadcrumbs/>  
                </then>  
                <else>  
                    <a href="http://www.link1.com" target="_blank" title="link1">Link1</a> &rsaquo;  <n.breadcrumbs/>  
                </else>  
            </n.if.visitor.is_in_group>  
        </div>  
        <div style="text-align:right;">  
            <n.user_header/>  
        </div>  
    </div>  
</override_macro>

P.D.: Lo has escrito bien juanete ;)
:) Helper
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Añadir enlaces en top_bar

marife
This post was updated on Oct 30, 2013; 8:11pm.
Gracias por ser ta rápido Louk

He probado poniendo el <n.breadcrumbs/>  al final de cada condición y me sale el mismo error

Oops... An error has occurred
Please contact Nabble Support and explain what you did to cause this error. Your feedback is very important to us.
Modified NAML Code
miforo has modified NAML code and this could be the cause of the error below. Please take a careful look at your changes and try to make sure your code is not broken.
Go to NAML Editor
More Details
Error 500

NAML exception in customized site: can't get visitor on cached page
        in visitor(custom_tweak:top_bar:4) - <n.if.visitor.is_in_group group='Members'> - public void nabble.view.web.template.ServletNamespace.visitor(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter) throws javax.servlet.ServletException
        in comment(custom_tweak:node_breadcrumbs:2) - <n.comment.>
        in if(custom_tweak:top_bar:4) - <n.if.visitor.is_in_group group='Members'> - public static void nabble.naml.namespaces.BasicNamespace._if(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in user_header(custom_tweak:top_bar:14) - <n.user_header/>
        in top_bar(nabble:utilities.naml:9) - <n.top_bar/>
        in nabble_html(nabble:utilities.naml:19) - <n.nabble_html> - public void nabble.view.web.template.ServletNamespace.nabble_html(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in html_impl(nabble:utilities.naml:4) - <n.html_impl>
        in html(nabble:app.naml:88) - <n.html>
        in do(nabble:utilities.naml:982) - <n.as_node_page.do/>
        in as_node_page(nabble:utilities.naml:982) - <n.as_node_page.do/> - public void nabble.view.web.template.NodeNamespace.as_node_page(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in do(nabble:utilities.naml:987) - <n.get_node_from_request_parameter.do/>
        in get_node_from_request_parameter(nabble:utilities.naml:987) - <n.get_node_from_request_parameter.do/> - public void nabble.view.web.template.ServletNamespace.get_node_from_request_parameter(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter) throws java.io.IOException,javax.servlet.ServletException,nabble.naml.namespaces.TemplateException
        in catch_exception(nabble:utilities.naml:986) - <n.catch_exception. id="get-node-block"> - public void nabble.naml.namespaces.BasicNamespace.catch_exception(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in (nabble:view_standard.naml:5) - <subroutine name="view_standard" requires="basic,nabble,servlet">
        in view_standard(nabble:view_standard.naml:2) - <n.view_standard />
        in call_view_standard(nabble:app.naml:29) - <n.call_view_standard/>
        in call_view_forum(nabble:app.naml:4) - <n.call_view_forum/>
        in case(nabble:app.naml:3) - <n.case. value="forum"> - public void nabble.naml.namespaces.BasicNamespace$SwitchNamespace._case(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in switch(nabble:app.naml:2) - <n.switch. value="[n.get_node_from_parameter.type/]"> - public void nabble.naml.namespaces.BasicNamespace._switch(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in (nabble:app.naml:1) - <macro name="view_app" requires="servlet,nabble,basic">

Message: NAML exception in customized site: can't get visitor on cached page

RequestURI: /

Server: n7.nabble.com
Caused by:

fschmidt.util.servlet.JtpContextServlet$JtpServletException: url=http://miforo.XXXXX.n7.nabble.com/  user-agent=Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0 method=GET referer=http://miforo.XXXXX.n7.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=top_bar!custom_tweak:top_bar&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.ServletNamespace&breadcrumbs=macro_viewer!nabble:macro_viewer.naml-html!nabble:utilities.naml
        at fschmidt.util.servlet.JtpContextServlet.handleException(JtpContextServlet.java:571)
        at fschmidt.util.servlet.JtpContextServlet.service2(JtpContextServlet.java:465)
        at fschmidt.util.servlet.JtpContextServlet.service(JtpContextServlet.java:332)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:565)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1360)
        at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:77)
        at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:144)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at cachingfilter.CachingFilter.doFilter(CachingFilter.java:133)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at fschmidt.util.servlet.BadBotFilter.doFilter(BadBotFilter.java:74)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at fschmidt.util.servlet.ConnectionLimitFilter.doFilter(ConnectionLimitFilter.java:94)
        at nabble.view.lib.NabbleConnectionLimitFilter.doFilter(NabbleConnectionLimitFilter.java:26)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at nabble.view.lib.NabbleErrorFilter.doFilter(NabbleErrorFilter.java:21)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:477)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1031)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:965)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
        at org.eclipse.jetty.server.Server.handle(Server.java:349)
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:449)
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:910)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:230)
        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:76)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:609)
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:45)
        at nabble.model.Executors$1$1.run(Executors.java:27)
        at fschmidt.util.executor.ThreadTimer$1.run(ThreadTimer.java:18)
        at fschmidt.util.executor.AbstractThreadPool$1.run(AbstractThreadPool.java:29)
        at java.lang.Thread.run(Thread.java:722)
Caused by: javax.servlet.ServletException: NAML exception in customized site: can't get visitor on cached page
        in visitor(custom_tweak:top_bar:4) - <n.if.visitor.is_in_group group='Members'> - public void nabble.view.web.template.ServletNamespace.visitor(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter) throws javax.servlet.ServletException
        in comment(custom_tweak:node_breadcrumbs:2) - <n.comment.>
        in if(custom_tweak:top_bar:4) - <n.if.visitor.is_in_group group='Members'> - public static void nabble.naml.namespaces.BasicNamespace._if(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in user_header(custom_tweak:top_bar:14) - <n.user_header/>
        in top_bar(nabble:utilities.naml:9) - <n.top_bar/>
        in nabble_html(nabble:utilities.naml:19) - <n.nabble_html> - public void nabble.view.web.template.ServletNamespace.nabble_html(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in html_impl(nabble:utilities.naml:4) - <n.html_impl>
        in html(nabble:app.naml:88) - <n.html>
        in do(nabble:utilities.naml:982) - <n.as_node_page.do/>
        in as_node_page(nabble:utilities.naml:982) - <n.as_node_page.do/> - public void nabble.view.web.template.NodeNamespace.as_node_page(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in do(nabble:utilities.naml:987) - <n.get_node_from_request_parameter.do/>
        in get_node_from_request_parameter(nabble:utilities.naml:987) - <n.get_node_from_request_parameter.do/> - public void nabble.view.web.template.ServletNamespace.get_node_from_request_parameter(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter) throws java.io.IOException,javax.servlet.ServletException,nabble.naml.namespaces.TemplateException
        in catch_exception(nabble:utilities.naml:986) - <n.catch_exception. id="get-node-block"> - public void nabble.naml.namespaces.BasicNamespace.catch_exception(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in (nabble:view_standard.naml:5) - <subroutine name="view_standard" requires="basic,nabble,servlet">
        in view_standard(nabble:view_standard.naml:2) - <n.view_standard />
        in call_view_standard(nabble:app.naml:29) - <n.call_view_standard/>
        in call_view_forum(nabble:app.naml:4) - <n.call_view_forum/>
        in case(nabble:app.naml:3) - <n.case. value="forum"> - public void nabble.naml.namespaces.BasicNamespace$SwitchNamespace._case(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in switch(nabble:app.naml:2) - <n.switch. value="[n.get_node_from_parameter.type/]"> - public void nabble.naml.namespaces.BasicNamespace._switch(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in (nabble:app.naml:1) - <macro name="view_app" requires="servlet,nabble,basic">
        at nabble.view.web.template.NamlServlet.checkTweaked(NamlServlet.java:185)
        at nabble.view.web.template.NamlServlet.service(NamlServlet.java:144)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at fschmidt.util.servlet.JtpContextServlet.service2(JtpContextServlet.java:461)
        ... 38 more
Caused by: nabble.naml.compiler.TemplateRuntimeException: can't get visitor on cached page
        in visitor(custom_tweak:top_bar:4) - <n.if.visitor.is_in_group group='Members'> - public void nabble.view.web.template.ServletNamespace.visitor(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter) throws javax.servlet.ServletException
        in comment(custom_tweak:node_breadcrumbs:2) - <n.comment.>
        in if(custom_tweak:top_bar:4) - <n.if.visitor.is_in_group group='Members'> - public static void nabble.naml.namespaces.BasicNamespace._if(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in user_header(custom_tweak:top_bar:14) - <n.user_header/>
        in top_bar(nabble:utilities.naml:9) - <n.top_bar/>
        in nabble_html(nabble:utilities.naml:19) - <n.nabble_html> - public void nabble.view.web.template.ServletNamespace.nabble_html(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in html_impl(nabble:utilities.naml:4) - <n.html_impl>
        in html(nabble:app.naml:88) - <n.html>
        in do(nabble:utilities.naml:982) - <n.as_node_page.do/>
        in as_node_page(nabble:utilities.naml:982) - <n.as_node_page.do/> - public void nabble.view.web.template.NodeNamespace.as_node_page(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in do(nabble:utilities.naml:987) - <n.get_node_from_request_parameter.do/>
        in get_node_from_request_parameter(nabble:utilities.naml:987) - <n.get_node_from_request_parameter.do/> - public void nabble.view.web.template.ServletNamespace.get_node_from_request_parameter(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter) throws java.io.IOException,javax.servlet.ServletException,nabble.naml.namespaces.TemplateException
        in catch_exception(nabble:utilities.naml:986) - <n.catch_exception. id="get-node-block"> - public void nabble.naml.namespaces.BasicNamespace.catch_exception(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in (nabble:view_standard.naml:5) - <subroutine name="view_standard" requires="basic,nabble,servlet">
        in view_standard(nabble:view_standard.naml:2) - <n.view_standard />
        in call_view_standard(nabble:app.naml:29) - <n.call_view_standard/>
        in call_view_forum(nabble:app.naml:4) - <n.call_view_forum/>
        in case(nabble:app.naml:3) - <n.case. value="forum"> - public void nabble.naml.namespaces.BasicNamespace$SwitchNamespace._case(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.Interpreter)
        in switch(nabble:app.naml:2) - <n.switch. value="[n.get_node_from_parameter.type/]"> - public void nabble.naml.namespaces.BasicNamespace._switch(nabble.naml.compiler.IPrintWriter,nabble.naml.compiler.ScopedInterpreter)
        in (nabble:app.naml:1) - <macro name="view_app" requires="servlet,nabble,basic">
        at nabble.naml.compiler.Compiler.interpFix(Compiler.java:2007)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1636)
        at nabble.naml.compiler.BlockWrapper.printTo(BlockWrapper.java:68)
        at nabble.naml.compiler.BlockWrapper.toString(BlockWrapper.java:62)
        at nabble.naml.compiler.Template.stringValue(Template.java:87)
        at nabble.naml.compiler.Template.booleanValue(Template.java:103)
        at nabble.naml.compiler.InterpreterImpl.getArgAsBoolean(InterpreterImpl.java:75)
        at nabble.naml.namespaces.BasicNamespace._if(BasicNamespace.java:138)
        at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1631)
        at nabble.naml.compiler.Compiler$Chunks.run(Compiler.java:1121)
        at nabble.naml.compiler.BlockWrapper.printTo(BlockWrapper.java:68)
        at nabble.naml.compiler.ScopedInterpreterImpl$1.printTo(ScopedInterpreterImpl.java:25)
        at nabble.naml.compiler.BlockWrapper.toString(BlockWrapper.java:62)
        at nabble.naml.compiler.ScopedInterpreterImpl.getArgString(ScopedInterpreterImpl.java:42)
        at nabble.view.web.template.HtmlNamespace.<init>(HtmlNamespace.java:30)
        at nabble.view.web.template.ServletNamespace.nabble_html(ServletNamespace.java:208)
        at sun.reflect.GeneratedMethodAccessor149.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1625)
        at nabble.naml.compiler.Compiler$Chunks.run(Compiler.java:1121)
        at nabble.naml.compiler.BlockWrapper.printTo(BlockWrapper.java:68)
        at nabble.naml.compiler.ScopedInterpreterImpl$1.printTo(ScopedInterpreterImpl.java:25)
        at nabble.naml.compiler.TemplatePrintWriter.print(TemplatePrintWriter.java:22)
        at nabble.view.web.template.NodeNamespace.as_node_page(NodeNamespace.java:869)
        at sun.reflect.GeneratedMethodAccessor115.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1625)
        at nabble.naml.compiler.BlockWrapper.printTo(BlockWrapper.java:68)
        at nabble.naml.compiler.ScopedInterpreterImpl$1.printTo(ScopedInterpreterImpl.java:25)
        at nabble.naml.compiler.TemplatePrintWriter.print(TemplatePrintWriter.java:22)
        at nabble.view.web.template.ServletNamespace.get_node_from_request_parameter(ServletNamespace.java:325)
        at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1625)
        at nabble.naml.compiler.BlockWrapper.printTo(BlockWrapper.java:68)
        at nabble.naml.compiler.TemplatePrintWriter.print(TemplatePrintWriter.java:22)
        at nabble.naml.namespaces.BasicNamespace.catch_exception(BasicNamespace.java:586)
        at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1631)
        at nabble.naml.compiler.Compiler$Chunks.run(Compiler.java:1121)
        at nabble.naml.compiler.Template.run(Template.java:61)
        at nabble.naml.compiler.Compiler$Subroutine.run(Compiler.java:1773)
        at nabble.naml.compiler.BlockWrapper.printTo(BlockWrapper.java:68)
        at nabble.naml.compiler.TemplatePrintWriter.print(TemplatePrintWriter.java:22)
        at nabble.naml.namespaces.BasicNamespace$SwitchNamespace._case(BasicNamespace.java:888)
        at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1631)
        at nabble.naml.compiler.Compiler$Chunks.run(Compiler.java:1121)
        at nabble.naml.compiler.BlockWrapper.printTo(BlockWrapper.java:68)
        at nabble.naml.compiler.ScopedInterpreterImpl$1.printTo(ScopedInterpreterImpl.java:25)
        at nabble.naml.compiler.TemplatePrintWriter.print(TemplatePrintWriter.java:22)
        at nabble.naml.namespaces.BasicNamespace._switch(BasicNamespace.java:859)
        at sun.reflect.GeneratedMethodAccessor119.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1631)
        at nabble.naml.compiler.Template.run(Template.java:61)
        at nabble.naml.compiler.Template.run(Template.java:33)
        at nabble.modules.ModuleManager.run(ModuleManager.java:270)
        at nabble.view.web.template.NamlServlet.service(NamlServlet.java:165)
        at nabble.view.web.template.NamlServlet.service(NamlServlet.java:134)
        ... 40 more
Caused by: java.lang.RuntimeException: can't get visitor on cached page
        at nabble.view.web.template.ServletNamespace.visitorNamespace(ServletNamespace.java:73)
        at nabble.view.web.template.ServletNamespace.visitor(ServletNamespace.java:107)
        at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at nabble.naml.compiler.JavaCall.invoke(JavaCall.java:26)
        at nabble.naml.compiler.Compiler$Block.invoke(Compiler.java:1557)
        at nabble.naml.compiler.Compiler$Block.run(Compiler.java:1625)
        ... 123 more
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Añadir enlaces en top_bar

Mencey Melgar
Hmm parece que no puede detectar al "visitor":

NAML exception in customized site: can't get visitor on cached page

Podrias poner aqui el macro "html" y top_bar que estas usando? he intentado registrarme en el foro pero parece que necesito autorización. Quizas ese es el problema, intenta poner permisos de "view" a todos los usuarios t después modifica el top_bar a ver que pasa.
:) Helper
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Añadir enlaces en top_bar

marife
Hola LouK, el foro está en construcción y lo estoy configurando.
Solo tienen permisos para "view" el foro el grupo "Members", como prevención contra el Spam.
Puse el ejemplo de Members por empezar con algo.

Siguiendo instrucciones de Juan:
He creado otro grupo (link) para utilizarlo para añadir el enlace y ya funciona bien.
Luego he creado un subforo en el que he dado permisos para "view" al grupo "link" y da el mismo error cuando intento acceder a él, mientras que en el resto del foro si funciona.

Conclusión: al tener un grupo XX permisos de view en un subforo, "n.if.visitor.is_in_group group='XX'" no puede detectar el visitante al abrir dicho subforo.

Muchas gracias por todo Louk, doy el tema por solucionado
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Añadir enlaces en top_bar

marife
Hola LouK :(

He estado haciendo más pruebas y en el momento que creas un subforo con permisos para "view" a un grupo cualquiera (incluso para solo los usuarios registrados), sale el mismo error al acceder a dicho subforo (el resto del foro que tiene permisos de view a anyone se ve correctamente).

¿Alguna otra forma de hacerlo?

gracias
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: Añadir enlaces en top_bar

Mencey Melgar
Hmm.. quizás podrías probar a poner condiciones para todos los grupos, desde el mas grande(Administrators tienen todos los permisos) a el mas pequeño(supongo que anyone es el grupo que tiene menos permisos).

De todas formas le echare un ojo a ver si se me ocurre algo mejor
:) Helper