Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Переключение мобильной/десктопной версии сайта на wordpress

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Aligatro
Отправлено: 05 Февраля, 2014 - 01:24:32
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Здравствуйте люди =) Хотел бы попросить уважаемых форумчан помочь мне с написанием простенькой функции...

В целом мне требуется реализовать механику переключения версий сайта в мобильный/десктопный вид. Так как в php я еще новичок, не могу разобраться как при клике на ссылку передать информацию в функцию о том, что она теперь true или false. Постараюсь пояснить на примере.

Предположим есть функция change_webstyle(). Данная функция, должна в зависимости от клика на ссылку мобильная/десктопная версия сайта принимать значение true/false.

Нужно мне это для того, что бы при помощи условия типа
PHP:
скопировать код в буфер обмена
  1. if (!change_webstyle()) {} else {}
убрать лишние элементы из цикла wordpress при формировании страницы.


Надеюсь большинство поймет, что за ересь я тут написал и чего я хочу. Заранее благодарю всех кто предложит свою помощь. Спасибо -)
 
 Top
1n3gan
Отправлено: 09 Февраля, 2014 - 20:26:58
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Февр. 2014  


Помог: 0 раз(а)




Здравствуйте)
Разницы, как правило, нет. Вордпресс это или какой-нибудь другой движок - суть одна:

1. Во-первых, нужно определить тип устройства, с которого человек заходит на сайт.
Раз уж вы выбрали php, то советую использовать готовый php класс.
Скачать исходник можно отсюда.
Подключить нужно файл Mobile_Detect.php таким образом:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. require_once 'Mobile_Detect.php';
  4. // Далее определяем тип:
  5. $detect = new Mobile_Detect;
  6. $deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
  7. $scriptVersion = $detect->getScriptVersion();
  8. // ссылка на ваш мобильный сайт. адрес сервера и текущей страницы будет вида
  9. // http://m.site.ru/
  10. $urlMob = 'http://m.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  11. ?>
  12.  


2. Прописать условие, что если обнаружен мобильный девайс, то редирект на сайт с мобильной версией. Иначе - на полную. Также используем механизм кук от jQuery

CODE (javascript):
скопировать код в буфер обмена
  1. <script type="text/javascript" src="/js/jquery.cookie.js"></script>


PHP:
скопировать код в буфер обмена
  1. <?  // Определяем устройство
  2.     if ($deviceType == 'phone' or $detect->isTablet() ) {?>
  3.     <script type="text/javascript">
  4.         // Первый раз на сайте? Редирект на моб. версию
  5.         var visited = $.cookie('visited');
  6.         if (visited == null){
  7.             window.location.href = '<?=$urlMob?>';
  8.             $.cookie('visited','yes');
  9.         }
  10.         // Ставим куку
  11.         $.cookie('visited', 'yes', { expires: 1, path: '/' });
  12.     </script>
  13. <?}?>


3. Создать ссылку-переключатель, в случае если пользователю не понравится мобильная версия, он бы мог переключиться на полную версию.

Это уже, практически, готовое решение. Если что не понятно - спрашивайте, постараюсь объяснить

(Отредактировано автором: 09 Февраля, 2014 - 20:32:46)

 
 Top
Aligatro
Отправлено: 12 Февраля, 2014 - 20:51:08
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




Спасибо за помощь, но я преследую несколько иную цель.

1. Я вряд ли буду делать зеркало сайта с мобильной версией и адресом m.site.ru

2. Нет необходимости сторонними скриптами через HTTP REQUEST определять тип устройства с которого зашли на сайт. В wp если отличная функция для этих целей.

3. Мне всего-то нужно, что бы при клике на ссылочку внизу сайта, скрипту (php, js+php) отдавалась бы команда изменить свое значение с true на false и наоборот.

Необходимо мне это лишь для того, что бы при переходе на моб версию создать условие типа:

PHP:
скопировать код в буфер обмена
  1. if (mobile_mod_on()) { echo 'Вы находитесь на мобильной версии сайта' } else { echo Полная версия сайта }


Заминка у меня лишь с тем, что я не знаю как связать ссылку в футере с функцией и заставить ее менять свое значение во время действия (клика).

Еще раз спасибо, очень признателен за уделенное мне время =)
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB