Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка рекламной страницы перед главной
 
 автор: Evgenylebedevv   (06.05.2016 в 05:51)   письмо автору
 
 

Привет. Есть интернет-магазин на Opencart (1.5.6.4), у него есть мобильное приложение, есть рекламная html-страница с двумя ссылками - "скачивание этих приложений" и "продолжить просмотр на сайте". Каким образом можно подключить эту рекламную страницу так, что бы она на мобильниках (на малом экране) показывалась перед показом главной страницы сайта (с временем жизни куков на повторный показ через сутки например), а на десктопной (на больших экранах) версии сайта не показывалась совсем.

  Ответить  
 
 автор: KPETuH   (06.05.2016 в 10:33)   письмо автору
 
   для: 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('Мобильник');


Как нить так определите мобильный и выводите свою страницу.

  Ответить  
 
 автор: Evgenylebedevv   (08.05.2016 в 10:50)   письмо автору
 
   для: 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;
}


Все работает, но теперь нужно логику допилить.
Вообще конструкция должна быть, что-то типа если девайс - телефон, то читаем куку, если куки нет или прошло более суток, то устанавливаем куку/обновляем время жизни куки и отображаем целевую страницу, если девайс - десктоп, то устанавливаем/обновляем куку и отображаем домашнюю/другую страницу сайта.
Будет так работать?

  Ответить  
 
 автор: confirm   (08.05.2016 в 13:57)   письмо автору
 
   для: Evgenylebedevv   (08.05.2016 в 10:50)
 

Будет и JS для этого совсем не нужен, тем более что устройство определяет сервер, и куки он может и читать, и устанавливать.

  Ответить  
 
 автор: Evgenylebedevv   (08.05.2016 в 14:20)   письмо автору
 
   для: confirm   (08.05.2016 в 13:57)
 

Может если есть у кого уже что-то подобное (похожая логика) поделитесь, а? 😊

  Ответить  
 
 автор: confirm   (08.05.2016 в 19:09)   письмо автору
 
   для: Evgenylebedevv   (08.05.2016 в 14:20)
 

Чем, как в РНР установить/считать куку?

  Ответить  
 
 автор: Evgenylebedevv   (12.05.2016 в 00:07)   письмо автору
 
   для: 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;
             }

  Ответить  
 
 автор: confirm   (12.05.2016 в 03:01)   письмо автору
 
   для: Evgenylebedevv   (12.05.2016 в 00:07)
 

Вы лишние буквы уберите из кода, и сразу станет видно, что логика то хромает:

<?
if(1) {
    if(isset(
2) && 1) ...
    elseif(
1)....
    else....
} else ... 


Вдумайтесь в эту абракадабру.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования