Авто переход на моб версию сайта (если юзер с телефона) + плагин прикрепляю

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 1.X
#1 15 ноября 2017 в 15:22
Здравствуйте.

Нашли плагин который позволяет настроить авто переход на моб версию сайта, если юзер зашел с мобильного. Но что то не хочет работать. Имеется 2 шаблона, моб и пк версия хотим настроить автопереход

Есть ли решение, чтобы автоматом перенаправлять юзера на моб шаблон если он с мобильного?

Думаю данное решение будет многим полезно, не у всех есть адаптивный дизайн.
Прикрепленный файл
pmobiledetect_g72ql.zip 3 Кб
#2 15 ноября 2017 в 21:55
А на 2-ю ветку нет?
#3 15 ноября 2017 в 22:03

А на 2-ю ветку нет?

Polzovinst
Во второй ветке это в коробке есть:
#4 16 ноября 2017 в 12:08
Решение заменить весь код на этот в плагине
  1. <?php
  2. class p_mobile_detect extends cmsPlugin {
  3. protected $accept;
  4. protected $userAgent;
  5. protected $isMobile = false;
  6. protected $devices = array(
  7. "android" => "android.*mobile",
  8. "androidtablet" => "android(?!.*mobile)",
  9. "blackberry" => "blackberry",
  10. "blackberrytablet" => "rim tablet os",
  11. "iphone" => "(iphone|ipod)",
  12. "ipad" => "(ipad)",
  13. "palm" => "(avantgo|blazer|elaine|hiptop|palm|plucker|xiino)",
  14. "windows" => "windows ce; (iemobile|ppc|smartphone)",
  15. "windowsphone" => "windows phone os",
  16. "generic" => "(kindle|mobile|mmp|midp|pocket|psp|symbian|smartphone|treo|up.browser|up.link|vodafone|wap|opera mini|mobi)"
  17. );
  18.  
  19.  
  20.  
  21. public function __construct(){
  22.  
  23. parent::__construct();
  24. $this->info['plugin'] = 'p_mobile_detect';
  25. $this->info['title'] = 'Mobile Detect';
  26. $this->info['description'] = 'автоматическое переключение шаблона';
  27. $this->info['author'] = 'GENER';
  28. $this->info['version'] = '1.1';
  29. $this->config['Template name'] = "mobile";
  30. $this->events[] = 'PRINT_PAGE_HEAD';
  31. $this->userAgent = $_SERVER['HTTP_USER_AGENT'];
  32. $this->accept = $_SERVER['HTTP_ACCEPT'];
  33.  
  34. if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])) {
  35. $this->isMobile = true;
  36. } elseif (strpos($this->accept, 'text/vnd.wap.wml') > 0 || strpos($this->accept, 'application/vnd.wap.xhtml+xml') > 0) {
  37. $this->isMobile = true;
  38. } else {
  39. foreach ($this->devices as $device => $regexp) {
  40. $result = (bool) preg_match("/" . $this->devices[strtolower($device)] . "/i", $this->userAgent);
  41. if ($result) {
  42. $this->isMobile = true;
  43. }
  44. }
  45. }
  46.  
  47. }
  48.  
  49.  
  50. public function install(){
  51.  
  52. return parent::install();
  53.  
  54. }
  55.  
  56.  
  57. public function upgrade(){
  58.  
  59. return parent::upgrade();
  60.  
  61. }
  62.  
  63.  
  64. public function execute($event, $item){
  65.  
  66. parent::execute();
  67.  
  68. if($this->isMobile&&$_SESSION['template']!=$this->config['Template name']){
  69. $_SESSION['template']=$this->config['Template name'];
  70.  
  71. echo "<script>location.reload();</script>";
  72. }
  73. return $item;
  74. }
  75.  
  76.  
  77. }
  78.  
  79. ?>
#5 16 ноября 2017 в 12:21
Тему закрываю, в плагине в админке впишите шаблон моб версии. Если зайти с пк на сайт то выйдет пк версия, если на сайт зайти с мобильного то перекинет на моб версию.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.