Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2016-01-05 16:05:09

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Как показать другой блок в мобильно версии

Может кто то подсказать как в одном месте при заходе с мобильных устройств показывать один рекламный блок (допустим ads1), а при заходе не с мобильных устройств другой блок (ads2)
?
может как то твигом это можно сделать?

Не в сети

#2 2016-01-05 16:35:52

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Как показать другой блок в мобильно версии

Стили
при одном разрешении показываем один блок,при другом разрешении другой блок

Изменено irbees2008 (2016-01-05 16:37:57)

Не в сети

#3 2016-01-05 17:50:32

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Как показать другой блок в мобильно версии

Использовать:

{% if(system_flags.check_pda) %}Блок для мобильных устройств{% else %}Блок для PC{% endif %}

Не в сети

#4 2016-01-06 19:20:00

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: Как показать другой блок в мобильно версии

infinity237, супер

Не в сети

#5 2016-01-07 17:45:22

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Как показать другой блок в мобильно версии

Если нужно большая точность и больше фич, то можно заюзать TWIG Extension.
По установке:
Скопировать в /engine/includes/classes/Twig/Extension

Использовать:

{% extends is_mobile() ? "layout_mobile.html.twig" : "layout.html.twig" %}
{% if is_mobile() %} ... {% endif %}
{% if is_tablet() %} ... {% endif %}
{% if is_mobile() and is_samsung() %} ... {% endif %}
{{ get_available_devices()|join("<br />")|raw }}

Не в сети

#6 2016-01-07 18:51:51

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: Как показать другой блок в мобильно версии

infinity237, это для разных устройств?

Не в сети

#7 2016-01-07 19:15:33

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Как показать другой блок в мобильно версии

legenda пишет:

infinity237, это для разных устройств?

Конкретно в этом решении используется библиотека:
https://github.com/serbanghita/Mobile-Detect
Она точнее определяет устройства. Определяет отдельно мобильные - is_mobile()  и планшеты - is_tablet(). Также отдельно можно определять устройства по вендорам и по браузерам (подробнее вызов get_available_devices() )

Не в сети

#8 2016-04-20 03:29:10

EsCaPeR
Участник
Зарегистрирован: 2008-10-17
Сообщений: 71
Рейтинг :   

Re: Как показать другой блок в мобильно версии

infinity237 пишет:

Если нужно большая точность и больше фич, то можно заюзать TWIG Extension.
По установке:
Скопировать в /engine/includes/classes/Twig/Extension

Использовать:

{% extends is_mobile() ? "layout_mobile.html.twig" : "layout.html.twig" %}
{% if is_mobile() %} ... {% endif %}
{% if is_tablet() %} ... {% endif %}
{% if is_mobile() and is_samsung() %} ... {% endif %}
{{ get_available_devices()|join("<br />")|raw }}

Выдает "The function "is_mobile" does not exist in ..."
проверял на GIT 20150123 и GIT [20150104+]

Не в сети

#9 2016-04-20 20:59:34

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Как показать другой блок в мобильно версии

В /engine/core.php найти:

$twig->addExtension(new Twig_Extension_StringLoader());

Ниже добавить:

$twig->addExtension(new Twig_Extension_MobileDetect());

Не в сети

#10 2017-05-31 01:42:28

easmik
VIP забанил этого пользователя.
Зарегистрирован: 2011-02-01
Сообщений: 1,030
Рейтинг :   37 

Re: Как показать другой блок в мобильно версии

infinity237 пишет:

Использовать:

{% if(system_flags.check_pda) %}Блок для мобильных устройств{% else %}Блок для PC{% endif %}

Подскажи пожалуйста. В последней версии этот плагин работает?

Не в сети

#11 2017-06-01 00:16:18

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Как показать другой блок в мобильно версии

easmik пишет:
infinity237 пишет:

Использовать:

{% if(system_flags.check_pda) %}Блок для мобильных устройств{% else %}Блок для PC{% endif %}

Подскажи пожалуйста. В последней версии этот плагин работает?

Да. Работает.

Не в сети

#12 2020-08-26 21:39:11

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Как показать другой блок в мобильно версии

infinity237 пишет:

Использовать:

{% if(system_flags.check_pda) %}Блок для мобильных устройств{% else %}Блок для PC{% endif %}

На мобильном телефоне тоже показывает  "Блок для PC" . 
а если   добавить в  core.php:

$twig->addExtension(new Twig_Extension_MobileDetect()); 

Появляется сообщение  "NGCMS Runtime error: Class 'Twig_Extension_MobileDetect' not found"


Используемая версия:     0.9.5 Release + GIT 20170301

Изменено vl (2020-08-26 21:42:02)

Не в сети

#13 2020-08-27 20:53:38

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Как показать другой блок в мобильно версии

На выходных проверю

Не в сети

#14 2020-08-29 08:39:07

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Как показать другой блок в мобильно версии

попробовал дописать  к самому скрипту   такое выражение, -скрипт  jquery_002.js  не работает ни при каком разрешении

$(document).ready(function () {

	function mySuperFunc () {
		width = $(window).width();
		console.log(width);
		if (width < 991) {

код скрипта jquery_002.js

				}
			});
		}
	}

	mySuperFunc ();
	$(window).resize( mySuperFunc );
});

Изменено vl (2020-08-29 08:47:31)

Не в сети

#15 2020-08-29 10:49:54

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Как показать другой блок в мобильно версии

vl пишет:
infinity237 пишет:

Использовать:

{% if(system_flags.check_pda) %}Блок для мобильных устройств{% else %}Блок для PC{% endif %}

На мобильном телефоне тоже показывает  "Блок для PC" . 
а если   добавить в  core.php:

$twig->addExtension(new Twig_Extension_MobileDetect()); 

Появляется сообщение  "NGCMS Runtime error: Class 'Twig_Extension_MobileDetect' not found"


Используемая версия:     0.9.5 Release + GIT 20170301

Все работает, проверил  0.9.5 Release + GIT 20170301 и на 0.9.7

Не в сети

#16 2020-08-29 20:08:48

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Как показать другой блок в мобильно версии

Спасибо, буду пробовать.  А нельзя этореализовать с конкретным разрешением экрана?

Не в сети

#17 2020-08-30 09:58:14

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Как показать другой блок в мобильно версии

Можешь пробывать вот это

<script type="text/javascript">
{
if (screen.width > 480) document.write ('<script type="text/javascript" src="js/wow.min.js" ></sc' + 'ript>');
}
</script>

Не в сети

#18 2020-09-06 00:02:52

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Как показать другой блок в мобильно версии

irbees2008 пишет:

Можешь пробывать вот это

<script type="text/javascript">
{
if (screen.width > 480) document.write ('<script type="text/javascript" src="js/wow.min.js" ></sc' + 'ript>');
}
</script>

Этот код работает отлично

Не в сети

#19 2021-09-04 11:09:02

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Как показать другой блок в мобильно версии

плагин не работает на php8 на последней сборке

NGCMS Runtime exception: Error
Class "Twig_Extension" not found

Stack trace
#    Line #    Class/Function    File name
X    5    0    /home/www/xn----7sbbawujfno3aqk5b5b7b.url3.ru/engine/plugins/check_pda/MobileDetect.php
0    11    require_once    /home/www/xn----7sbbawujfno3aqk5b5b7b.url3.ru/engine/plugins/check_pda/check_pda.php
1    587    check_pda    /home/www/xn----7sbbawujfno3aqk5b5b7b.url3.ru/engine/includes/inc/extras.inc.php
2    397    executeActionHandler    /home/www/xn----7sbbawujfno3aqk5b5b7b.url3.ru/engine/core.php
3    15    include_once    /home/www/xn----7sbbawujfno3aqk5b5b7b.url3.ru/engine/admin.php

Не в сети

Подвал раздела

Работает на FluxBB