Pregunta

Estoy construyendo una aplicación web usando Grails. Decidí usar dojo y añadí un menú de ojo de pez dojo para begining en el main.gsp por lo que estaría disponible en todas las páginas de la aplicación. Funciona bien para la (casa) página index.gsp, pero una vez que selecciono otro, los disapears menú de ojo de pez. Si regreso a casa que está allí. Revisé mi configuración y todo se ve bien para mí. No estoy usando algo de fantasía, sólo cosas simples. Me estoy perdiendo algo, pero no es capaz de entenderlo.

Este es el código en mi main.gsp simplificada para mayor claridad:

<html>
<head>

    ...

    <g:layoutHead />

    <!-- use dojo library ... this has not effect at all -->
    <g:javascript library="dojotk"/>    

    <!-- Load Dojo -->
    <script type="text/javascript" src="js/dojotk/dojo/dojo.js"
    djConfig="parseOnLoad:true, isDebug:false"></script>

    <!-- need fisheye -->
    <g:javascript type="text/javascript">
        dojo.require("dojox.widget.FisheyeList");
    </g:javascript>

    <!-- required css for dojo fisheye -->
    <style type="text/css">@import "js/dojotk/dojox/widget/FisheyeList/FisheyeList.css";</style>    

</head>
<body >
       ...
     <!-- fisheye bar -->
     <div id="fisheyebar"><g:render template="/common/fisheyebar"/></div>

    <g:layoutBody /> 
</body>

Y aquí es el _fisheyebar.gsp

<g:javascript>
  function load_app(target){
   window.location.href=target
 }
</g:javascript>
    <center >
        <div class="outerbar">
            <div dojoType="dojox.widget.FisheyeList"
                    itemWidth="50" itemHeight="50"
                    itemMaxWidth="200" itemMaxHeight="200"
                    orientation="horizontal"
                    effectUnits="2"
                    itemPadding="10"
                    attachEdge="top"
                    labelEdge="bottom"

                    >
    <div dojoType="dojox.widget.FisheyeListItem" 
            onClick= "load_app('${createLinkTo(dir:'/something')}');"
             iconsrc="images/icon_something.png" caption="Web Browser">
    </div>
       .....
    </div>
</div> <!-- outbar -->
</center>

Todas las páginas incluyendo la index.gsp tener lo siguiente:

   <head>
<title>some titel</title>
<meta name="layout" content="main" />
</head>

Por favor, no es que el uso de la plantilla (_fisheyebar) no es la causa, que poner el código directamente en el principal y tenía el mismo efecto. Entonces, ¿qué me falta?

¿Fue útil?

Solución

que se encuentra en la dirección URL relativa a la ubicación del dojo. es relativa a la raíz y por eso el índice de las obras y no las otras páginas.

usando URLs absolutos soluciona el problema.

Otros consejos

¿Intentó mover su declaración dojo y las importaciones a su página de plantilla de diseño en vez de ponerlo en su main.gsp?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top