sheynhjk

Как привязать мобильную версию к сайту

7 сообщений в этой теме

Всем доброго...
Подскажите пожалуйста, кто сталкивался или технически понимает. Есть сайт domen.ru у которого много разделов на на поддоменах вида razdel.domen.ru, есть мобильная версия m.domen.ru на которой те же самые разделы находятся в капках m.domen.ru/razdel

Вопрос:

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

Возможно непонятно сформулировал, если что натолкните, спасибо!

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


Ссылка на сообщение
Поделиться на других сайтах

Как то так:

https://talk.pr-cy.ru/topic/20321-novaya-funktciya-v-dle-kak-realizovat/?p=249269

 

demini сказал(а) 30 Ноя 2015 - 7:27 PM:

 

Как вариант, написать скрипт на JS, определяющий размер окна клиентского браузера, если размеры экрана меньше заданных, осуществляем редирект на страницу

http://site.ru/index.php?action=mobile

Второй вариант: переходить на полностью адаптивную верстку (тут либо верстать с нуля, либо воспользоваться фреймворками вроде бутстрапа).

sheynhjk понравилось это

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


Ссылка на сообщение
Поделиться на других сайтах

Как то так:

https://talk.pr-cy.ru/topic/20321-novaya-funktciya-v-dle-kak-realizovat/?p=249269

 

demini сказал(а) 30 Ноя 2015 - 7:27 PM:

 

 

Как вариант, написать скрипт на JS, определяющий размер окна клиентского браузера, если размеры экрана меньше заданных, осуществляем редирект на страницу

 

http://site.ru/index.php?action=mobile
Второй вариант: переходить на полностью адаптивную верстку (тут либо верстать с нуля, либо воспользоваться фреймворками вроде бутстрапа).

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

Вариант с адаптпцией шаблона не подойдет, движок весь на таблицах. Все переделывать, практически нериально...

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


Ссылка на сообщение
Поделиться на других сайтах

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

Вариант с адаптпцией шаблона не подойдет, движок весь на таблицах. Все переделывать, практически нериально...

По такому методу, что показали - не будет. Мобильные устройства проверяются по наличию в переменной $_SERVER['HTTP_USER_AGENT'] словосочетаний: Mobile, Android, Silk/, Kindle, BlackBerry, Opera Mini, Opera Mobi. Если они есть, то отдается мобильный шаблон, если нет - обычный. И когда идет проверка гуглоская, то она как раз шлёт запрос как мобильник и как простой комп.

k-park понравилось это

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


Ссылка на сообщение
Поделиться на других сайтах

По такому методу, что показали - не будет. Мобильные устройства проверяются по наличию в переменной $_SERVER['HTTP_USER_AGENT'] словосочетаний: Mobile, Android, Silk/, Kindle, BlackBerry, Opera Mini, Opera Mobi. Если они есть, то отдается мобильный шаблон, если нет - обычный. И когда идет проверка гуглоская, то она как раз шлёт запрос как мобильник и как простой комп.

Спсибо, вроде понял!

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


Ссылка на сообщение
Поделиться на других сайтах

Спсибо, вроде понял!

Не за что! На всякий случай приведу тут пример функции, которая это определяет в Wordpress, её можно и на самописах использовать:

 

Сама проверка:

if( wp_is_mobile() ) {
  // тут выполняем действия только для мобильных устройств.
}

Сама функция:

function wp_is_mobile() {
	static $is_mobile = null;

	if ( isset( $is_mobile ) ) {
		return $is_mobile;
	}

	if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
		$is_mobile = false;
	} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) {
			$is_mobile = true;
	} else {
		$is_mobile = false;
	}

	return $is_mobile;
}

Как видим, легко добавить новый header, если того требует ситуация.

k-park, diplomdistant и sheynhjk понравилось это

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


Ссылка на сообщение
Поделиться на других сайтах

Не за что! На всякий случай приведу тут пример функции, которая это определяет в Wordpress, её можно и на самописах использовать:

 

Сама проверка:

 

if( wp_is_mobile() ) {
  // тут выполняем действия только для мобильных устройств.
}
Сама функция:

function wp_is_mobile() {
	static $is_mobile = null;

	if ( isset( $is_mobile ) ) {
		return $is_mobile;
	}

	if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
		$is_mobile = false;
	} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false
		|| strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) {
			$is_mobile = true;
	} else {
		$is_mobile = false;
	}

	return $is_mobile;
}
Как видим, легко добавить новый header, если того требует ситуация.
А в этом случае, получается и планшетам будет показываться мобильная версия, а не хотелось бы...

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


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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


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

Войти

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


Войти сейчас

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

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