Temas por cliente em uma app grails
06/07/2012 18:11
class Usuario {
...
def nome
def tema
...
}
<link rel="stylesheet" href="${resource(dir:'css/' + usuarioInstance.tema,file:'default.css')}" >
def edit {
// Seu código
...
render(view: "${usuarioInstance.tema}/edit", model: [veiculoInstance: veiculoInstance])
/* Acessando da maneira acima o grails busca dentro de grails-app/views/produto/tema1/edit.gsp,
caso do tema do usuário seja o tema1, for tema2 em grails-app/views/produto/tema1/edit.gsp
e etc*/
}
<g:javascript src="${usuarioInstance.tema}/meuscript.js" />
// Nesse caso ele pega o arquivo: web-app/js/tema1/meuscript.js
import org.codehaus.groovy.grails.web.servlet.mvc.exceptions.ControllerExecutionException
class ThemeController {
def renderTheme(def map) {
/*
* Faz antes uma forma de obter o usuarioInstance.
*/
def oldTemplate = map.template
map.template = "/$usuarioInstance.tema/$map.template"
try {
return render(map)
} catch(ControllerExecutionException e) {
map.template = oldTemplate
return render(map)
}
}
}
Para se registrar, clique aqui.