CSS script con url dinámica


([N1] anton) #1

Hola a todos,

Tengo el siguiente problema, esperando que me orienten al respecto:

Si genero aplico un CSS que va a diversos botones a los que hay que incrustarles diferentes imágenes dentro de un manejador de objeto en un formulario, para tomar cada imágen “dinámicamente” de acuerdo al comportamiento del botón es simple, lo hago con

image: url("+sysCacheClientPath+"/imagen-checked.png);

Mi problema es que tengo muchos formularios con esos mismos botónes y para evitar estar manteniendo muchos css por cada formulario, prentendo crear un solo script css y aplicarlo al iniciar el autoexec utilizando el CSSGeneral.css, pero no sé como en un CSS hacer o aplicar la variable de sistema SYSCACHECLIENTPATH, ya que al ponerlo tal cual no funciona, de igual forma no se por ejemplo como meter una variable global para que ciertos valores sean dinámicos.

¿Es posible hacerlo así, o de plano lo tendré que hacer con un manejador de evento por formulario?

Gracias por sus respuestas.

Anton.


([N4] Infortic) #2

Hola.

¿Cómo aplicas el CSS en el autoexec?

Pon unas capturas para ver cómo lo estás haciendo, ¿guardas un fichero? y lo lees, ¿tienes un campo de texto?, ¿tienes un campo fórmula?


([N1] anton) #3

Hola Infortic,

Utilizo como base el CSS de vERP_2, para esto lo guardo en el área de scripts de la aplicación.

Dentro del autoexec, en el oninit lo ejecuto con:

Interfaz: Establecer hoja de estilo CSS (filescript) (,APLICACION/Hoja.css)

El punto es que no sé como utilizar o si es posible incluir ahí la variable de sistema SysCacheClientPath. Adjunto imagenes de cómo lo tengo en el filescript, con comillas y sin ellas, y otra de como esta dentro de un manejador de objeto en el cual funciona perfectamente, con la pega de que tengo que hacerlo en cada formulario y tengo bastantes.

Gracias.






([N1] wikan) #4

Prueba a por file:/// antes de SysCacheClientPath


([N1] anton) #5

Gracias Wikan, pero no funciona tampoco, como que el CSS desde filescript no cacha variables de sistema, ni locales, ni globales.


([N3] pacosatu) #6

Hola anton.

Estás mezclando conceptos y montando un pequeño lío.

  • El fichero en disco CSS es un contenido estático que interpretará el motor CSS de Velneo tal cual
  • La variable de sistema SYSCACHECLIENTPATH solo es viable en el contexto de una “Fórmula Velneo”, por lo tanto, no sirve de nada incluirla en un CSS
  • Puedes construir un CSS en una variable local usando fórmulas de Velneo y luego ejecutar ese CSS con Interfaz: Establecer hoja de estilo CSS ()

Para tu caso, lo más sencillo es establecer el Directorio por defecto antes de cargar el CSS desde el fichero y así todos los comandos URL(imagen.png) funcionarán correctamente.

Cambiar directorio por defecto (sysCacheClientPath)
Rem (El motor CSS buscará todas las imágenes URL(imagen.png) en la carpeta que acabas de establecer como predeterminada)
Interfaz: Establecer hoja de estilo CSS (fichero.css)

De esta forma evitas tener que indicar en el CSS la ubicación de las imágenes, solo pones su nombre URL(imagen.png).

Pruébalo.
Saludos
Paco Satué


([N1] anton) #7

Gracias seh,

Efectivamente me estaba montando un pequeño lio y tan simple como bien lo indicas, asunto resuelto y con el funcionamiento esperado.

Gracias. =)

Antolin