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

Цитата
с временем жизни куков на повторный показ через сутки например


800 руб и будет тебе код.

ответ знаешь - как написать - не знаешь.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
AllesKlar
Evgenylebedevv
Див с контентом рекламы по умолчанию имеет css свойство: не отображать. Яваскриптом читаем ширину экрана, если она меньше минимально-допустимой для немобильных устройств, то читаем куку, если куки нет или прошло более суток, то устанавливаем куку/обновляем время жизни куки и отображаем див.

В реализации Игорь поможет за 800 руб smile.gif

_____________
[продано копирайтерам]
Evgenylebedevv
Да, но я тут еще пока ищу нужное место для вставки кода.
Игорь_Vasinsky
Evgenylebedevv
так там ещё и несколько точек входа?

ну нужно в один файл весь этот функционал прописал и заинклудить во все точки входа.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Evgenylebedevv
Одна точка входа - один индексный файл, это стандартный опенкарт.
Я согласен на помощь в реализации.
Evgenylebedevv
Еще вопрос насколько это будет мешать посетителям? Особенно тем кто из под iOS в Safari через приватный режим ходит.
Evgenylebedevv
Пошел таким путем:
Для определения с какого устройства зашел пользователь - был использован 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
Может если есть у кого уже что-то подобное, поделитесь, а? 😊
Evgenylebedevv
Как сделать так, что бы для мобильного с кукой завершилось выполнение данного скрипта и просто загрузилась страница сайта?
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;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.