Grails - фирменное приложение - PullRequest
       1

Grails - фирменное приложение

5 голосов
/ 01 сентября 2010

Вот проблема: в зависимости от входящего URL-адреса я хочу отобразить конкретную целевую страницу и, при входе, конкретный пользовательский интерфейс, основанный на личности пользователя.

Например, оба www.abc.com и www.xyz.com указывают на один экземпляр Grails, обеспечивающий общее взаимодействие с порталом.Если пользователь прибыл через www.abc.com, я хочу отобразить заставку ABC с формой входа.Если пользователь пришел через www.xyz.com, я хочу отобразить заставку XYZ с формой для входа.

Как только пользователь войдет в систему, мне нужно будет сохранить исходный контекст «бренда», как определеновходящий URL.Например, даже если все GSP, контроллеры и т. Д. Являются общими для всех пользователей, пользователи ABC будут выбирать свой собственный CSS, наборы ресурсов (или записи) и т. Д., И у пользователя будет совершенно другой визуальный опыт, чем у пользователей XYZ..

Возможно ли это?Или мне нужно разветвить кодовую базу приложения и разместить несколько независимых экземпляров портала?

1 Ответ

7 голосов
/ 01 сентября 2010

http://www.grails.org/Views+and+Layouts

взгляните, я думаю, что это может решить 90% ваших проблем.Определите макет для каждого домена.Макеты загружаются для каждого вида и могут помочь определить внешний вид

. Вы можете установить переменную в фильтре на основе URL, который затем можно прочитать в макете http://www.grails.org/Filters

class MyFilters {
   def filters = {
        myFilter(controller:'*', action:'*') {
            after = {
              if (request.requestURI == "xyz") {
                session.layout = "layout1.gsp"
              } else {
                session.layout = "layout2.gsp"
              }
           } 
        }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...