Инструкция для установки
Инструкция для установки
Общее

Сайт работает на системе управления контентом «1С-Битрикс: Управление сайтом».

Административный раздел сайта доступен по адресу https://адрес-сайта/bitrix/

Документация по работе с системой администрирования «1С-Битрикс: Управление сайтом»

Для работы с контентом сайта необходимо ознакомиться с системой управления сайтом. Вся необходимая и подробная информация содержится в курсе Контент-менеджер «1С-Битрикс».

Установка

Модуль "dZENcode:devicedetector" может быть установлено на CMS "1С-Битрикс, управление сайтом" с активной лицензией следующих редакций: Стандарт, Малый бизнес, Эксперт, Бизнес.

Если 1С-Битрикс подходящей редакции уже установлен:
  • Данный продукт рассчитан на версию PHP 8.1 и выше.

    перед установкой убедитесь что ваша версия PHP соответствует требованиям.

    Можно проверить через административную часть сайта по пути: Настройки - Производительность - PHP - Версия PHP

    В административной части сайта выбрать раздел «Marketplace»

    «Каталог решений», найти и установить модуль «dZENcode:devicedetector»

Установка с Marketplace
Маркетпласе
Услуга установки модуля

В случае необходимости установки модуля силами специалистов компании "dZENcode", мы предлагаем услугу установки и первичной настройки модуля на хостинге.

Запрос на установку модуля Вы можете отправить через виджет, через форму обратной связи на нашем сайте или отправив письмо нам на почту support@dzencode.com .

Дефолтное состояние
Описание

Библиотека универсального обнаружения устройств, которая анализирует агенты пользователя и подсказки клиента браузера для обнаружения устройств (настольный компьютер, планшет, мобильный телефон, телевизор, автомобиль, консоль и т. д.), клиентов (браузеры, программы чтения каналов, медиаплееры, PIM и т. д.), операционные системы, бренды и модели.

Применение

Примеры в этой и иных инструкциях не являются безопастными, в них упрощен код для наглядности и простоты понимания.

Используйте такой код:

use DeviceDetector\ClientHints; use DeviceDetector\DeviceDetector; use DeviceDetector\Parser\Device\AbstractDeviceParser; // ОПЦИОНАЛЬНО: установите для усечения версии значение none, // иначе будут возвращены полные версии // По умолчанию будут возвращены только второстепенные версии // (например, X.Y) // другие параметры см. в разделе константы VERSION_TRUNCATION_* // класс DeviceParserAbstract AbstractDeviceParser::setVersionTruncation( AbstractDeviceParser::VERSION_TRUNCATION_NONE ); $userAgent = $_SERVER['HTTP_USER_AGENT']; // измените это значение на пользовательский агент, // который вы хотите проанализировать $clientHints = ClientHints::factory($_SERVER); // подсказки клиента не обязательны $dd = new DeviceDetector($userAgent, $clientHints); // НЕОБЯЗАТЕЛЬНО: установите метод кэширования // По умолчанию используется статический кеш, // что лучше всего работает в рамках одного процесса PHP // (кэширование массива памяти) // Для кэширования запросов используйте кэширование в файлах или Memcache // $dd->setCache(new Doctrine\Common\Cache\PhpFileCache('./tmp/')); // НЕОБЯЗАТЕЛЬНО: установите собственный анализатор yaml // По умолчанию Spyc будет использоваться для анализа файлов yaml. // Вы также можете использовать другой анализатор yaml. // Возможно, вам придется реализовать фасад Yaml Parser // если вы хотите использовать другой парсер, кроме Spyc // или [Symfony](https://github.com/symfony/yaml) // $dd->setYamlParser(new DeviceDetector\Yaml\Symfony()); // НЕОБЯЗАТЕЛЬНО: при вызове getBot() вернет только true // если бот был обнаружен (немного ускоряет обнаружение) // $dd->discardBotInformation(); // НЕОБЯЗАТЕЛЬНО: при вызове обнаружение ботов будет полностью пропущено //(тогда боты будут распознаваться как обычные устройства) // $dd->skipBotDetection(); $dd->parse(); if ($dd->isBot()) { // обрабатываем bots,spiders,crawlers,... $botInfo = $dd->getBot(); } else { $clientInfo = $dd->getClient(); // содержит информацию о браузере, программе чтения каналов, // медиаплеере, ... $osInfo = $dd->getOs(); $device = $dd->getDeviceName(); $brand = $dd->getBrandName(); $model = $dd->getModel(); }

Методы проверки типа устройства:

$dd->isSmartphone(); $dd->isFeaturePhone(); $dd->isTablet(); $dd->isPhablet(); $dd->isConsole(); $dd->isPortableMediaPlayer(); $dd->isCarBrowser(); $dd->isTV(); $dd->isSmartDisplay(); $dd->isSmartSpeaker(); $dd->isCamera(); $dd->isWearable(); $dd->isPeripheral();

Возвращает результат булевого типа. Для демонстрации можно обернуть в var_dump($dd->isSmartphone());

Методы проверки типа клиента:

$dd->isBrowser(); $dd->isFeedReader(); $dd->isMobileApp(); $dd->isPIM(); $dd->isLibrary(); $dd->isMediaPlayer();

Возвращает результат булевого типа. Для демонстрации можно обернуть в var_dump($dd->isSmartphone());

Получить семейство ОС:

use DeviceDetector\Parser\OperatingSystem; $osFamily = OperatingSystem::getOsFamily($dd->getOs('name'));

Получить семейство браузеров:

use DeviceDetector\Parser\Client\Browser; $browserFamily = Browser::getBrowserFamily($dd->getClient('name'));

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

use DeviceDetector\Parser\Bot AS BotParser; $botParser = new BotParser(); $botParser->setUserAgent($userAgent); // НЕОБЯЗАТЕЛЬНО: удалить информацию о боте. // parse() тогда вернет true вместо информации $botParser->discardDetails(); $result = $botParser->parse(); if (!is_null($result)) { // ничего не делать, если обнаружен бот return; } // обрабатываем запросы, не связанные с ботами
Структура
static_numbers static_numbers static_numbers