Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Сколько точек входа у Opencart 1.5.6.4 это только index.php?

Да точка входа opencart одна в целях безопасности

Надіслати
Поділитися на інших сайтах

Благодарю. Задача подключить

PHP mobile detect library для определения типа устройства с которого посетитель заходит на сайт и дальнейшего вывода ему рекламной страницы установить мобильное приложение если он зашел на сайт магазина с мобильника и не вывода если он с десктопа.    
Надіслати
Поділитися на інших сайтах


У чистого ОК - одна, а вернее две /index.php и /admin/index.php

 

Но существуют модули, которые добавляют свою точку, например корззина KW_ (по крайней мере, так было раньше), или еще какие-либо..

 

Но если быть более точным - точка входа -

$controller->dispatch($action, new Action('...'));

Надіслати
Поділитися на інших сайтах

Startup.php грузится после index.php?

В нем, ложите в папку system/library ваш Mobile_detect.php

А затем в startup.php

подключаете

require_once(DIR_SYSTEM . 'library/mobile_detect.php');
$detect = new Mobile_Detect(); 
define('isMobile', $detect->isMobile(), false);
define('isTablet', $detect->isTablet(), false);
 
И дальше можно везде (контроллеры вьюхи модели...)использовать условие

<?php if(isMobile || isTablet) { ?>
//Что то тут выводим итд...
<?php } ?>
Змінено користувачем Waha
Надіслати
Поділитися на інших сайтах

Если это одноразово, то можно, наверное и подключить библиотеку в header

или даже в модуле...

 

Есть ли смысл ее тягать по всему движку?

  • +1 1
Надіслати
Поділитися на інших сайтах

 

В нем, ложите в папку system/library ваш Mobile_detect.php

А затем в startup.php

подключаете

require_once(DIR_SYSTEM . 'library/mobile_detect.php');
$detect = new Mobile_Detect(); 
define('isMobile', $detect->isMobile(), false);
define('isTablet', $detect->isTablet(), false);
 
И дальше можно везде (контроллеры вьюхи модели...)использовать условие

<?php if(isMobile || isTablet) { ?>
//Что то тут выводим итд...
<?php } ?>

 

Да, примерно так я и сделал, в startup.php у меня получилась одна строчка, но думаю переделаю как у тебя тут, так удобнее конечно.

require_once(DIR_SYSTEM . 'library/Mobile_Detect.php');

В controller/header в самом начале файла вот так пока:

<?php  

$detect = new Mobile_Detect;
$check = $detect->isMobile();
  if($check == true)  {
 require('mobile-app.php'); exit(); 
} else  {
    echo "not";
    exit;
}

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

Будет так работать?

Змінено користувачем deadlylimonad
Надіслати
Поділитися на інших сайтах


Можно и куку задавать
 

<?php 
if(isset($_COOKIE['название_куки']) && $_COOKIE['название_куки'] == 'нужное значение' && isMobile){
//Что то делаем для мобильного с кукой
}elseif(isMobile){
//Если куки нет, но с мобильного то задаем куку
setcookie('название_куки', 'значение', time() + 60 * 60 * 24 * 30, '/');
}else{
//Делаем что-том если не 1 условие не сработало
}

Примерно вот так

Надіслати
Поділитися на інших сайтах

Как сделать так, что бы для мобильного с кукой завершилось выполнение данного скрипта и просто загрузилась страница сайта?

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;
             }
Змінено користувачем deadlylimonad
Надіслати
Поділитися на інших сайтах


Надіслати
Поділитися на інших сайтах

смотря откуда этот кусок кода вырван

Он в header.php стоит и собирает из библиотеки Mobile-Detect.php данные о том с мобильника заходит клиент или нет.

 

Будет переадресация до бесконечности, он в header.php стоит.

Надіслати
Поділитися на інших сайтах


Использовал return , теперь если посетитель заходит не с мобильника или с мобильника но с куками то грузится обычная страница магазина.
if(isMobile)
{
if(isset($_COOKIE['mobile-app']) && $_COOKIE['mobile-app'] == 'true'){
return;  //Если есть куки, то рекламу не показываем, а показываем обычную стр.сайта.
}else{
setcookie('mobile-app', 'true', time() + 60 * 60 * 24 * 1, '/');  //Если куки нет, но с мобильного то задаем куку на сутки
require('mobile-app.php');  // и показываем страницу рекламы
exit;
}
}else{
return;
}

Еще убрал из конструкции && isMobile, было вот так
if(isset($_COOKIE['mobile-app']) && $_COOKIE['mobile-app'] == 'true' && isMobile)

Змінено користувачем deadlylimonad
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.