Перейти к содержанию
tim21701

[How-To] Закрываем доступ (советуем обновиться) пользователю с IE6... [v1.4.x]

Рекомендуемые сообщения

Все знают "что такое" IE6 и что, этот браузер вытворяет с нашими темами, игнорируя файлы со стилями, скрипты и даже то - что прописано специально для него... Поэтому, хотелось бы найти решение, которое подскажет нашему новому гостю, что он использует то - что уже давно, на всех языках звучит, как: "IE6 is DEAD!", (в мягкой форме, конечно)... Об этом, "недвусмысленно" намекнула даже сама Майкрософт, прекратив всякую потдержку IE6.
Но, как показывает статистика, сбрасывать со счетов IE6 не стоит, хотя, таких пользователей становится с каждым годом всё меньше и меньше... Поэтому, мы включим проверку версии браузера в OpenCart, и если у пользователя окажется "древний" Internet Explorer 6 или старше - намекнём (напомним) ему об этом.


Изображение

1). Для этого, открываем файл catalog/view/theme/ВАША_ТЕМА/template/common/header.tpl и в самом начале, после тега <head> добавляем:
 

<meta http-equiv="refresh" content="1;url=index.php?route=common/bad_browser">

2). В этой же папке catalog/view/theme/ВАША_ТЕМА/template/common/ создаём файл bad_browser.tpl со следующим содержанием:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><head><title><?php echo $title; ?></title></head><body style="text-align:center;"><img alt="" src="<?php echo HTTP_IMAGE.$this->config->get( 'config_logo' ); ?>" /><div style="color:black; font-family:sans-serif; font-size:16px; width:500px;margin:12px auto 0 auto; padding:12px; text-align:justify;border:dotted 1px silver; background:#FFFAFA;"><?php echo $text_warning; ?><br /><br /><br /><?php foreach ($links as $name => $link) { ?><a href="<?php echo $link; ?>" alt="<?php echo $name; ?>" style="color:navy;"><?php echo $name; ?></a><br /><?php } ?></div></body></html>

3). Создаём файл bad_browser.php в папке catalog/controller/common/ со следующим содержанием:


<?phpclass ControllerCommonBadBrowser extends Controller {public function index() {$this->language->load('common/bad_browser');$this->document->title = $this->config->get('config_title');$this->document->description = $this->config->get('config_meta_description');$this->data['title'] = $this->language->get('title');$this->data['text_warning'] = $this->language->get('text_warning');$this->data['links'] = $this->language->get('links');if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/bad_browser.tpl')) {$this->template = $this->config->get('config_template') . '/template/common/bad_browser.tpl';} else {$this->template = 'default/template/common/bad_browser.tpl';}$this->children = array();$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));}}?>

4). Создаём файл bad_browser.php в папке catalog/language/russian/common/ со следующим содержанием:


<?php$_['title'] = 'Старый Браузер!';$_['text_warning'] = 'Вы используете <i>Internet Explorer 6</i> или старше!<br /><br />';$_['text_warning'] .= 'Старые браузеры Internet Explorer не поддерживаются на нашем сайте, и просмотр ';$_['text_warning'] .= 'его с этого браузера может привести к неправильному отображению некоторых страниц, ';$_['text_warning'] .= 'и как следствие, неработоспособности определенных функций интернет магазина. <br /><br />';$_['text_warning'] .= 'Пожалуйста, установите у себя более современный веб-браузер.';$_['links'] = array('Opera' => 'http://www.opera.com/','Internet Explorer' => 'http://www.microsoft.com/','Firefox' => 'http://www.mozilla.org/','Safari' => 'http://www.apple.com/safari/','Google Chrome' => 'http://www.google.com/chrome/');?>

(Инглиш версия):


<?php// Title$_['title'] = 'Bad Browser';// Text$_['text_warning'] = 'It looks like you are using <i>Internet Explorer 6</i> or older!<br /><br />';$_['text_warning'] .= 'The old Internet Explorer is not supported by this website, ';$_['text_warning'] .= 'and viewing it with this browser would result in incorrectly rendered pages ';$_['text_warning'] .= 'and missing functionality. Please consider upgrading to a more modern web browser.';$_['links'] = array('Download Opera' => 'http://www.opera.com/','Download Internet Explorer' => 'http://www.microsoft.com/','Download Firefox' => 'http://www.mozilla.org/','Download Safari' => 'http://www.apple.com/safari/','Download Google Chrome' => 'http://www.google.com/chrome/'?>

Всё.

Готовое решение:
IE6_must_die.zip

 

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот для этой "статистики" я верстаю под ie 6. Это неособо сложно.

Как показывает практика, клиент покинет ваш магазин, нежели обновится до новой версии. - ему так удобно.

А так тема стоящая, спасибо за готовое решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... клиент покинет ваш магазин, нежели обновится до новой версии...

Да, это так. Сам бы так поступил...

Но, решение привёл для примера. И будете ли Вы его использовать - зависит только от Вас.

Его можно переделать, например, на проверку включены ли куки, есть ли потдержка ява-скриптов и тому подобное... Вариантов куча.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему то для Firefox/3.6.16 тоже намекает на обновление :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, штука может оказаться полезной. Вот только фраза «Вы используете Internet Explorer 6 или старше!» лично мною воспринялась как "6-й, 7-й, 8-й", то есть считаю лучше заменить на «Вы используете устаревшую версию Internet Explorer. Рекомендуем обновить.»

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да интернет експлорер это программа что б скачать нормальный браузер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему в первом скрине идет "Вы используете IE6 или старше" – старше то вроде не играет тут роли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему в первом скрине идет "Вы используете IE6 или старше" – старше то вроде не играет тут роли.

"...IE6 или старше..." я имел ввиду по возврасту. ;) Это выражение наиболее правильное, чем например, использовать "старее" :D

(Русский язык, однако)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дак старше-то можно!

Младше (IE 5 и тд) нельзя! Нельзя так по возрасту указывать, вы же пишите версия 6 и старше – а старше шести это семь. Фраза нелогичная, видите?

Получается если вы используете IE6 и старше, вот вам ссылка на микрософт – скачайте версию старше?!

А вообще, я очень уважаю труд tim21701.

Изменено пользователем Acden

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дак старше-то можно!

Младше (IE 5 и тд) нельзя! Фраза нелогичная, видите?

Получается если вы используете IE6 и старше, вот вам ссылка на микрософт – скачайте версию старше?!

А вот для этой "статистики" лучше фразу старше не писать :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по мне так устоявшееся выражение это:

IE 6 и ниже

IE 6 и выше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по мне так устоявшееся выражение это:

IE 6 и ниже

IE 6 и выше

да вообще, где присутствует маркировка IE :D :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а мне 9 ие нравится. шустрый все отоброжается как надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а мне 9 ие нравится. шустрый все отоброжается как надо

неужели спустя ДЕВЯТЬ!!! поколений компания микрософт выпустила нормальный браузер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Дмитрий, это поклонник :D :D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а меня он очень порадовал когда по умолчанию включил для локальных сайтов режим совместимости IE 7 и верстка полетела - для начала я подумал что "ПИ%^#^Ц", теперь еще и под 9й как под 6й придется отдельно верстать, потом каким то чудом в заныканом веб-мастер инструментарии я все таки нашел что же все таки произошло и отключил на текущий сеанс режим НЕсовместимости, но так и не нашел где его отключить полностью. В итоге надежда, что хотя бы c IE 9 я подружусь умерла при первом же его запуске. Да и в целом я не нашел ни одной причины почему бы я смог расстаться с chrome =)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а мне 9 ие нравится. шустрый все отоброжается как надо

Прям интересно! :)

tim21701 приводил пример сайтов (CartMania, ShopperLand, ModernStoreи StylishStore), там всё также шелково и гладко?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Блин :lol: :lol: :lol: :lol: А как проверить?))))))))))))

Скачать эмуль шестого осла под хром, штоли?))))))))))))))

Ставить не то, что неохота, а... Как сказать.. Как суеверие :lol: :lol:

Срочно искать бета-тестеров))))))))))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да там оно уж слишком серенько написано и курсивно. Это вы лучше код так выкладывайте. А комментарии - разноцветные, разнообразные... :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я занимаюсь дизайном и мне давно надоело ставить хаки для 6 осла, хотя в последнее время им пользуется малое количество юзеров.

Этот хак применяю везде и если чел зашел шестым ослом то ему нате, смени типа браузер. Я бы не сказал что и 7й, 8й лучше но хоть меньше работы. Мелкософтовцы рулят!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а нужно следить за обновлениями браузеров? - т.е. чтоб в подсказке появлялись браузеры послед.версии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а нужно следить за обновлениями браузеров?...

Не обязательно, достаточно просто ссылку на страницу загрузки указать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как быть с пользователями баз java? у меня таких 29%

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как быть с пользователями баз java? у меня таких 29%

Это группа пользователей, которая посещает Ваш ресурс с мобильных устрайств...

А это, не много "не то". ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От tim21701
      Часто задают этот вопрос, что бы не скидывать всем ссылки - вывожу её в отдельную тему.

      =========================================================================
      -----------------НЕ ЗАБЫВАЕМ ПРО РЕЗЕРВНОЕ КОПИРОВАНИЕ ФАЙЛОВ!-----------------
      =========================================================================

      Итак, открываем файл: catalog/view/theme/ВАША_ТЕМА/stylesheet/stylesheet.css и находим строки:
      #menu { background: #585858; border-bottom: 1px solid #000000; height: 37px; margin-bottom: 15px; -webkit-border-radius: 5px 5px 5px 5px; -moz-border-radius: 5px 5px 5px 5px; -khtml-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; -webkit-box-shadow: 0px 2px 2px #DDDDDD; -moz-box-shadow: 0px 2px 2px #DDDDDD; box-shadow: 0px 2px 2px #DDDDDD; padding: 0px 5px; } Добавляем туда строку (в любое место):
      text-align:center; Чуть ниже, (в этом же файле) находим:
      #menu ul { list-style: none; margin: 0; padding: 0; } Меняем на эти строки:
      #menu ul { list-style: none; margin:auto; padding: 0; display:inline-block; margin-bottom:-4px; text-align:left; } До:

      После:

      Расширяем возможности горизонтального меню...
       
    • От tim21701
      Если кому пригодится, то вот способ - как разместить на главной странице любой модуль.
      (для примера я взял три модуля; "Рекомендуем", "Хиты продаж" и "Слайд-шоу".)

      Вот результат:




      Итак, открываем файл catalog/controller/common/home.php и находим строку:
       
      $this->children[] = 'common/header'; Добаваляем после неё то - что хотим видеть на главной:
       
      $this->children[] = 'module/featured';$this->children[] = 'module/bestseller';$this->children[] = 'module/sidebarslideshow'; Далее, открываем catalog/view/theme/default/template/common/home.tpl и находим:
       
      <?php foreach ($modules as $module) { ?><?php echo ${$module['code']}; ?><?php } ?> И ниже добавляем своё:
       
      <?php echo $featured; ?><?php echo $bestseller'; ?><?php echo $sidebarslideshow'; ?> Затем, открываем catalog/view/theme/default/stylesheet/stylesheet.css и вместо блока (он в самом низу):
       
      #content .middle .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .middle .box .middle {width: 158px;min-height: 0px;} Ставим свой:
       
      #content .box {float: left;margin: 0 6px 10px 6px;min-height: 0px;}#content .box .middle {width: 158px;min-height: 0px;} Таким способом, можно продублировать любой модуль на главной странице.
       
    • От tim21701
      Итак, если Вы не установили изображение для Категории товаров, берём случайное (из товара) и выводим его...

      Пример:



      Для этого, открываем /catalog/controller/product/category.php и находим строки:
       
      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';} После них, вставляем:

      if ($category_info['image']) {$image = $category_info['image'];} else {$image = '';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $category_info['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Ниже, находим блок:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';} После него вставляем:

      if ($result['image']) {$image = $result['image'];} else {$image = 'no_image.jpg';// Use random image from products in the category$rndImgQry = "SELECT p.image AS image FROM product AS p JOIN product_to_category AS c ON p.product_id = c.product_id ". "WHERE c.category_id = " . $result['category_id'] . " AND p.image NOT LIKE 'no_image.jpg'";$rndImgRslt = mysql_query($rndImgQry) or die (mysql_error());if (mysql_num_rows($rndImgRslt) > 0){$imgRows = array();while($imgRow = mysql_fetch_array($rndImgRslt)){$imgRows[] = $imgRow['image'];}$image = $imgRows[array_rand($imgRows)];}} Всё.
       
    • От tim21701
      Если Вы хотите, что бы на странице товара, при нажатии на вкладки "Описание", "Фото", "Отзывы", "Рекомендуем" они открывались "плавно" (эффект fade),
      откройте файл catalog/view/javascript/jquery/tab.js и найдите строку:
       
      $($(this).attr('tab')).css('display', 'block'); Добавьте ПЕРЕД ней эту:
       
      $($(this).attr('tab')).fadeIn(); Сохраните и посмотрите что получилось.
       
    • От tim21701
      Для любителей отображения меню списком "дерево" в стиле Windows XP, предлагаю такой вариант:



      Используемые значки:

      В модуле нет заменяемых файлов, только новые.
      Установка: Копируем папки из архива и включаем меню в админке.

      Внимание.
      Данный мод не заменяет основное меню Категорий, у Вас появится ещё одно меню с Категориями!
      (Которое можно использовать как дополнительное... Если захотите отставить только его - отключите "Основное").

      Tree Category.zip
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.