Рендеринг мобильной версии логина в безопасном классе Play!Фреймворк - PullRequest
2 голосов
/ 23 февраля 2012

Возможно ли как-то переопределить метод входа в класс Secure.java Secure-Module в Play!Framework, чтобы отображалась другая версия формы входа?

В моем случае я хочу отобразить мобильную версию формы входа, если обнаружен мобильный браузер.

Я знаю, что не должен изменять сам класс Secure.java, но я не вижу другого решения этой проблемы.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Как уже говорилось в других сообщениях , у вас есть request в вашей игре! контроллер. Таким образом, в этом запросе вы можете спросить, какой агент пытается просмотреть ваш сайт:

String agentInfo = request.headers.get("user-agent");

Вы можете определить, какой шаблон будет обработан для этого агента:

if (agentType.isWhatEverHeIs) {
  renderTemplate("Application\mobileTemplateForBadPractise.html");   
} else {
  render();
}

Но я бы посоветовал вам заняться responsive веб-разработкой. Создайте свои шаблоны настолько умно, насколько это возможно, позвольте шаблону, CSS и JavaScript сделать это и сохраните свою бизнес-логику в контроллере.

Вы можете использовать Twitter Bootstrap для достижения этой цели, но есть еще много других! Как Скелет .

У вас даже есть объект request внутри ваших шаблонов, так что вы можете по желанию визуализировать вещи в вашем шаблоне (или нет) на основе агента.

0 голосов
/ 24 февраля 2012

Еще проще, просто создайте / переопределите шаблон secure/login.html и используйте адаптивный дизайн: медиа-запросы.Нет необходимости менять контроллер или проверять агента или что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...