0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 259 Просмотров
*

Ruslan Chester

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Всем привет!сайт fishkasecond.tmweb.ru/sushi .Есть html-модуль вывода параллакс-блока. От <640px разрешения экрана данный блок хочу скрыть в самом коде. Пока скрыл его через CSS, но это плохая реализация (скорость загрузки страницы). Подскажите как на php запретить отображение модуля на определенном разрешении. Спасибо! Если продублировал тему, извините...не нашел похожего. В качестве примера хочу скрыть блок"position-akzii"
Код
<jdoc:include type="modules" name="position-after-header" style="xhtml" />
<jdoc:include type="component" style="xhtml"/>
<jdoc:include type="modules" name="position-after-content" style="xhtml" />
<jdoc:include type="modules" name="position-akzii" style="xhtml" />
<jdoc:include type="modules" name="position-before-footer" style="xhtml" />
<jdoc:include type="modules" name="position-footer" style="xhtml" />
*

1-F7

  • Захожу иногда
  • 197
  • 0 / 0
Оберните позицыю модуля в <div class="тест">

Код
<div class="test">
<jdoc:include type="modules" name="position-after-content" style="xhtml" />
</div>

Затем задайте стиль с помощью медиа запроса в CSS

Код
@media screen and (max-width: 750px){.mobile{display:none}}


В моем примере класс "тест" будет скрываться если расширения экрана меньше 750 px.

В общем почитайте в интернете по медиа запросом и изучите стиль.
*

vipiusss

  • Гуру
  • 5754
  • 343 / 10
  • Скайп: renor_
Подскажите как на php запретить отображение модуля на определенном разрешении.

Посредством PHP узнать (подстраиваться) разрешение экрана нельзя.

Или через jQuery или @media.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

robert

  • Живу я здесь
  • 4257
  • 407 / 15
1-F7, читайте повнимательнее: ТС написал
Пока скрыл его через CSS
Ruslan Chester, когда сервер готовит запрашиваемую страницу, он не имеет понятия, какое разрешение у клиента: такой информации нет в заголовках запроса. Разрешение определяется на стороне браузера, когда страница уже пришла в готовом виде, посредством CSS или JavaScript. Так что нет способа заранее узнать разрешение экрана, если только не записать его в cookies, но и это не будет работать для первого раза.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

1-F7

  • Захожу иногда
  • 197
  • 0 / 0
Ну это понятно. Пусть сам тогда думает над размерами разрешения своего сайта.
*

Ruslan Chester

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
*

Ruslan Chester

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Выношу необтесанное решение на суд гуру и может это кому-нибудь поможет...Была задача: наладить взаимодействие некоторого блока на сайте при определенном разрешении экрана, но не легким способом через медиа-запросы а накорню, чтобы не нагружать сервер излишними запросами на ресурсы.Делать мобильную версию не хотелось, только адаптивную.Если очень коротко, то внутри произвольного модуля вставил
Код
<script>if(window.matchMedia('(max-width: 768px)').matches)
{
  document.write('весь html-код модуля');
    } else;
     
    return false;</script>
Первоисточник https://danilin.biz/media-query-in-jquery.htm   .Необходимо при этом также убрать пробелы перед тегами внутри вставляемого кода(.replace), но я просто вручную убрал. Полученный итог:
 похож на RESS(при изменении размера окна браузера блок не добавляется и не убирается - только при перезагрузке страницы) и самое главное нет ненужных запросов к серверу(я избавился так от 10 загружаемых больших изображений, которые мне не нужны были на телефонах и планшетах).Пытался подобное произвести через вызов модуля из index.php, но не смог сладить с пробелами
Код
<script>if(window.matchMedia('(max-width: 768px)').matches)
{
  document.write('<jdoc:include type="modules" name="position-after-content" style="xhtml" />');
    } else;
     
    return false;</script>
Явно "америку" не открыл, но интересно почитать мнения профи
*

vipiusss

  • Гуру
  • 5754
  • 343 / 10
  • Скайп: renor_
К слову. Разрешение экрана и разрешение браузера-разные вещи.
Насколько я помню, есть отличие между ними, просто пример, если через функцию:

$(function() {
    if(screen.height<768) {

и

$(function() {
    if($(window).height()<768) {
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Ruslan Chester

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
.matchMedia даст истинный размер окна браузера с учетом отступов и полос прокрутки. Но это не принципиально для малых девайсов
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Помогите найти код модуля

Автор Serg34

Ответов: 3
Просмотров: 46
Последний ответ 03.12.2017, 20:17:13
от effrit
При создании модуля - белый экран

Автор SuschnosT

Ответов: 9
Просмотров: 155
Последний ответ 24.11.2017, 16:08:31
от robert
Добавление модуля на страницах категорий/статей

Автор froggi3

Ответов: 3
Просмотров: 104
Последний ответ 24.11.2017, 09:36:12
от khan-alex
Разрешить/запретить показ модуля на мобильных устройствах (планшеты, смартфоны)

Автор Slava77

Ответов: 12
Просмотров: 253
Последний ответ 22.11.2017, 08:34:23
от Mitriy
Публикация модуля HTML кода по времени

Автор bgh97079

Ответов: 3
Просмотров: 108
Последний ответ 20.11.2017, 16:18:08
от effrit