За последние 24 часа нас посетил 22561 программист и 1202 робота. Сейчас ищут 704 программиста ...

Загрузка рекламной страницы перед главной

Тема в разделе "PHP для новичков", создана пользователем Evgenylebedevv, 6 май 2016.

  1. Evgenylebedevv

    Evgenylebedevv Активный пользователь

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

    Scogzhe Зэк
    [ БАН ]

    С нами с:
    4 фев 2015
    Сообщения:
    109
    Симпатии:
    0
    Нужно написать небольшой php скрипт.
    Пиши в вк или сюда в лс. помогу за копеечку.
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    @Evgenylebedevv это будет мешать посетителям. Особенно тем кто из под iOS в Safari через приватный режим ходит.
    Тут достаточно в opencart найти код который скажем так отвечает за главную страницу или в которой можно её определить.
    Потом дело техники, ставим cookie adsplash 1 и срок жизни 24 часа, если их нету и выводим рекламную страницу, если cookie есть, то не выводим рекламную страницу.
    Как пройдут сутки, cookie удалится и снова будут видеть рекламную страницу.
    --- Добавлено ---
    @Scogzhe рекламируй свои услуги в разделе free-lance или в подписи. В этой теме автор не упоминал, что ждёт исполнителей за деньги.
     
  4. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Сделай линк в шапке. С картинкой.
     
    TeslaFeo нравится это.
  5. Evgenylebedevv

    Evgenylebedevv Активный пользователь

    С нами с:
    6 май 2016
    Сообщения:
    18
    Симпатии:
    0
    Не подскажешь что это?
     
  6. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    +1
    - простое решение
    - приложение будет рекламмироваться для всех посетителей
    - не будет мешать посетителям

    одни плюсы ^_^
     
  7. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  8. machetero

    machetero Активный пользователь

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    а почему бы не использовать медиа запросы ?
    автор почитай это http://htmlbook.ru/css/value/media может тебе подойдёт такое решение
     
    mahmuzar нравится это.
  9. Evgenylebedevv

    Evgenylebedevv Активный пользователь

    С нами с:
    6 май 2016
    Сообщения:
    18
    Симпатии:
    0
    Пошел таким путем:
    Для определения с какого устройства зашел пользователь - был использован 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
    PHP:
    1. require_once(DIR_SYSTEM . 'library/Mobile_Detect.php');
    2. $detect = new Mobile_Detect();
    3. define('isMobile', $detect->isMobile(), false);
    4. define('isTablet', $detect->isTablet(), false);

    4. Залил целевую рекламную страницу (mobile-app.php) на сервер.
    3. в контроллере header.php вставил:
    PHP:
    1.  if(isMobile) {
    2. require('mobile-app.php');
    3. } else  {
    4.     echo "not";
    5.     exit;
    6. }

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

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Вообще, я тоже думаю. почему бы не использовать @media
     
  11. Evgenylebedevv

    Evgenylebedevv Активный пользователь

    С нами с:
    6 май 2016
    Сообщения:
    18
    Симпатии:
    0
    CSS3 умеет подключать дополнительные страницы при определении типа устройства? Я не нашел такого.
     
  12. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    php умеет...
     
  13. Evgenylebedevv

    Evgenylebedevv Активный пользователь

    С нами с:
    6 май 2016
    Сообщения:
    18
    Симпатии:
    0
    Да так то понятно, что надо тут куки прописывать.. может есть у кого уже что-то похожее, поделитесь, а?
    --- Добавлено ---
    Капитан очевидность?
     
    #13 Evgenylebedevv, 8 май 2016
    Последнее редактирование: 8 май 2016
  14. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @Evgenylebedevv, там страница зачем? создал блок задать изначалоьно display: none; а если разрешение устройства малое, display: absolute;
     
  15. Evgenylebedevv

    Evgenylebedevv Активный пользователь

    С нами с:
    6 май 2016
    Сообщения:
    18
    Симпатии:
    0
    Хорошо, а если посетитель не хочет устанавливать приложение и хочет продолжить просмотр на сайте, переходит по ссылке которая ведет опять на эту же страницу, и что опять видит этот блок с рекламой?
     
  16. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Куки в помощь, как уже говорили выше.
     
  17. Evgenylebedevv

    Evgenylebedevv Активный пользователь

    С нами с:
    6 май 2016
    Сообщения:
    18
    Симпатии:
    0
    Надо тогда попробовать
     
  18. Evgenylebedevv

    Evgenylebedevv Активный пользователь

    С нами с:
    6 май 2016
    Сообщения:
    18
    Симпатии:
    0
    Как сделать так, что бы для мобильного с кукой завершилось выполнение данного скрипта и просто загрузилась страница сайта?
    PHP:
    1. if(isMobile) {
    2.        if(isset($_COOKIE['mobile-app']) && $_COOKIE['mobile-app'] == 'true' && isMobile){
    3.              ??????? //Если есть куки, то рекламу не показываем, а показываем обычную стр.сайта.
    4.           }elseif(isMobile){
    5.             setcookie('mobile-app', 'true', time() + 60 * 60 * 24 * 1, '/'); //Если куки нет, но с мобильного то задаем куку на сутки
    6.                 require('mobile-app.php'); // и показываем страницу рекламы
    7.                 exit;
    8.           }else{
    9.                 echo "Что-то пошло не так";
    10.                 exit;
    11.           }
    12. }else{
    13.         cotiniue;
    14.              }
     
  19. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    А что это такое?
     
  20. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    есть подозрение, что используется какая-то библиотека по определению девайса (где-то видел такую и, как ни странно, функция называлась также). Исходя из этого подозреваю, что там должна быть именно функция
     
  21. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @mr.akv, я ему намекал на то что у него условие всегда истинно.
    А где сейчас у тебя проблема, что именно не получается?
     
  22. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Ага, возможно функция, возможно переменная, в попыхах мужик все забыл :)
     
  23. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    не, всё норм тут. Он определяет константу сначала
    PHP:
    1. define('isMobile', $detect->isMobile(), false);
    вроде бы $detect->isMobile() должен возвращать тру или фолс
     
  24. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    @Evgenylebedevv, кстати, смотри, как мы немножко запутались с твоей константой. А знаешь почему? Потому что константы принято писать большими буквами
     
  25. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Да, я вообще не подумал о константе.