|
|
|
| Привет. Есть интернет-магазин на Opencart (1.5.6.4), у него есть мобильное приложение, есть рекламная html-страница с двумя ссылками - "скачивание этих приложений" и "продолжить просмотр на сайте". Каким образом можно подключить эту рекламную страницу так, что бы она на мобильниках (на малом экране) показывалась перед показом главной страницы сайта (с временем жизни куков на повторный показ через сутки например), а на десктопной (на больших экранах) версии сайта не показывалась совсем. | |
|
|
|
|
|
|
|
для: Evgenylebedevv
(06.05.2016 в 05:51)
| | через js определяйте
//Мобильный браузер
var isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
|
if(isMobile.any()) alert('Мобильник');
|
Как нить так определите мобильный и выводите свою страницу. | |
|
|
|
|
|
|
|
для: KPETuH
(06.05.2016 в 10:33)
| | Пошел таким путем:
Для определения с какого устройства зашел пользователь - был использован php class Mobile_Detect.php (https://github.com/s...a/Mobile-Detect)
1. файл mobile_detect.php залил в папку system/library
2. в файле system/startup.php подключил mobile_detect.php
require_once(DIR_SYSTEM . 'library/Mobile_Detect.php');
$detect = new Mobile_Detect();
define('isMobile', $detect->isMobile(), false);
define('isTablet', $detect->isTablet(), false);
4. Залил целевую рекламную страницу mobile-app.php на сервер.
3. в контроллере header.php вставил:
if(isMobile) {
require('mobile-app.php');
exit;
} else {
echo "not";
exit;
}
Все работает, но теперь нужно логику допилить.
Вообще конструкция должна быть, что-то типа если девайс - телефон, то читаем куку, если куки нет или прошло более суток, то устанавливаем куку/обновляем время жизни куки и отображаем целевую страницу, если девайс - десктоп, то устанавливаем/обновляем куку и отображаем домашнюю/другую страницу сайта.
Будет так работать? | |
|
|
|
|
|
|
|
для: Evgenylebedevv
(08.05.2016 в 10:50)
| | Будет и JS для этого совсем не нужен, тем более что устройство определяет сервер, и куки он может и читать, и устанавливать. | |
|
|
|
|
|
|
|
для: confirm
(08.05.2016 в 13:57)
| | Может если есть у кого уже что-то подобное (похожая логика) поделитесь, а? 😊 | |
|
|
|
|
|
|
|
для: Evgenylebedevv
(08.05.2016 в 14:20)
| | Чем, как в РНР установить/считать куку? | |
|
|
|
|
|
|
|
для: confirm
(08.05.2016 в 19:09)
| | Как сделать так, что бы для мобильного с кукой завершилось выполнение данного скрипта и просто загрузилась страница сайта?
if(isMobile) {
if(isset($_COOKIE['mobile-app']) && $_COOKIE['mobile-app'] == 'true' && isMobile){
??????? //Загрузить обычную страницу сайта для мобильного с кукой
}elseif(isMobile){
setcookie('mobile-app', 'true', time() + 60 * 60 * 24 * 1, '/'); //Если куки нет, но с мобильного то задаем куку на сутки
require('mobile-app.php'); // и показываем страницу рекламы
exit;
}else{
echo "Что-то пошло не так";
exit;
}
}else{
cotiniue;
}
|
| |
|
|
|
|
|
|
|
для: Evgenylebedevv
(12.05.2016 в 00:07)
| | Вы лишние буквы уберите из кода, и сразу станет видно, что логика то хромает:
<?
if(1) {
if(isset(2) && 1) ...
elseif(1)....
else....
} else ...
|
Вдумайтесь в эту абракадабру. | |
|
|
|