Представляем хак для DLE SETXT 2.0 способный сделать вывод разного контента так, что он будет виден только на определенных устройствах и браузерах, которые достаточно выделить с помощью специальных тегов. Благодаря хаку SETXT 2.0 можно вывести всякие сообщения для разных браузеров и операционных систем представленные в списке ниже.
Пример настройки тегов:
В нужном tpl доступен тег (несколько значений можно задавать через запятую):
[setxt browser="opera,yandex" os="windows"]текст[/setxt]Кроме того можно писать так[setxt browser="opera"]текст[/setxt]Или так[setxt os="linux"]текст[/setxt]Или так[setxt browser-not="opera,yandex" os="windows"]текст[/setxt]Кроме того можно писать так[setxt browser-not="opera"]текст[/setxt]Или так[setxt os-not="linux"]текст[/setxt]Или так[setxt browser-not="opera,yandex" os-not="windows"]текст[/setxt]
Приставка -not работает в обратном значении, то есть для всех кроме этих значений покажется текст.
Список значений браузера (слева значения для параметра browser):
Список значений операционной системы (слева значения для параметра os):
Установка хака SEtxt
Скопируйте все файлы из папки upload в данном архиве на ваш сервер.
Открыть файл /engine/classes/templates.class.php
найти
class dle_template {
!Выше вставить:
require_once ROOT_DIR . '/engine/mod/SEtxt.php';Далее найти:$this->dir = ROOT_DIR . '/templates/';Ниже вставить$this->SEtxt = SEtxt::getSingleton();
$this->SEtxt->construct();
Далее найти:
$this->_clear();
!Выше вставить для UTF-8
$this->result[$tpl] = preg_replace_callback("#\\[setxt (.+?)\\](.*?)\\[/setxt\\]#umis", array($this->SEtxt, "checkMatch"), $this->result[$tpl]);
Для CP1251 вставить
$this->result[$tpl] = preg_replace_callback("#\\[setxt (.+?)\\](.*?)\\[/setxt\\]#mis", array($this->SEtxt, "checkMatch"), $this->result[$tpl]);
SEtxt 2.0 описание:
DataLife Engine 9.0 - 11.x
от 23.10.2016
Автор: Gameer. (http:// gameer name/)
Обновленная версия 26.01.2017.