Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Trotor

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

Рекомендованные сообщения

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение

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

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...