Jump to content

Автоматизация выбора стиля в зависимости от устройства


Trotor
 Share

Recommended Posts

Недавно создал новый стиль для мобильных гаджетов. И туда переопределил юзер-агентов, таких как iPad, iPhone, OperaMobile, Samsung и так далее. Стандартный мобильный стиль оставил для старых смартфонов, таких как Sony Ericsson, Motorola, Nokia и так далее.

 

Всё хорошо и отлично. Если для гостей всё нормально, то для зарегистрированных посетителей есть один нюанс - многие часто чередуют заходы на форум то с персонального компа, то с мобильного гаджета. А так как выбор стиля находиться в поле skin таблицы members, то пользователям приходиться постоянно переключать стиль вручную.

 

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

Link to comment
Share on other sites

По умолчанию так и происходит, первым делом форум назначает стиль по юзерагенту, потом по остальным параметрам - '_fetchSkinByUserAgent', '_fetchSkinByURLMap', '_fetchSkinByApp', '_fetchSkinByMemberPrefs', '_fetchSkinByDefault'.

Но если пользователь начинает менять стили, в cookies и сессии устанавливается переменная uagent_bypass, которая запрещает переопределение стиля по юзерагенту. Действует это ограничение только во время жизни сессии или пока юзер не закроет браузер. Изменять что либо в этой логике не нужно, все правильно работает. Если отключить эту блокировку, на устройствах где стоит переопределение по юзерагенту сменить скин будет не возможно.

  • Upvote 1
Link to comment
Share on other sites

Действует это ограничение только во время жизни сессии или пока юзер не закроет браузер. Изменять что либо в этой логике не нужно, все правильно работает. Если отключить эту блокировку, на устройствах где стоит переопределение по юзерагенту сменить скин будет не возможно.

То есть, более или менее "безопасный" режим это только уменьшить время жизни сессии?

Link to comment
Share on other sites

Единственно безопасный и правильный режим это объяснить пользователям, что если они меняют стиль (не важно на каком устройстве) переопределение по изерагенту сохраняется до следующего захода на форуме. Если они одновременно пользуются и мобильным и десктопным устройством, нужно сказать чтобы скин не меняли иначе блокируется переопределние по юзерагенту до следущего входа на форуме или пока не закроется браузер. Сессии и все остальное трогать не нужно. Калечить форум ради одного пользователя который в течение двух минут меняет 2 устройства тоже не имеет смысла.

  • Upvote 1
Link to comment
Share on other sites

Сессии и все остальное трогать не нужно. Калечить форум ради одного пользователя который в течение двух минут меняет 2 устройства тоже не имеет смысла.

Золотые слова - абсолютно согласен.

 

Кстати, вообще то я малость не договорил в начале темы - я думал что изначально движок сам автоматизирует этот процесс, просто новым мобильным стилем я где то сделал ошибку. Оказывается так и должно быть :)

 

P.S. Насчёт мобильного скина - что означает ссылка unlockUserAgent=1, это когда юзер в мобильном стиле кликает на кнопку полная версия. Хотел её убрать, что бы изначально был сразу выбор стилем, однако без кнопки полной версии идут глюки.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...