Jump to content

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


Recommended Posts

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

Вопрос:

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

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

Link to post
Share on other sites

Как то так:

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

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

Link to post
Share on other sites

Как то так:

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
Второй вариант: переходить на полностью адаптивную верстку (тут либо верстать с нуля, либо воспользоваться фреймворками вроде бутстрапа).

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

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

Link to post
Share on other sites
  • VIP

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

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites
  • VIP

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

Не за что! На всякий случай приведу тут пример функции, которая это определяет в 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, если того требует ситуация.

Link to post
Share on other sites

Не за что! На всякий случай приведу тут пример функции, которая это определяет в 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, если того требует ситуация.
А в этом случае, получается и планшетам будет показываться мобильная версия, а не хотелось бы...
Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...