Новости Joomla

Перевод и публикация интервью на греческом портале Joomla Утро, просматриваешь входящие письма и...

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

Bismuth

  • Захожу иногда
  • 138
  • 2 / 0
Всем доброе время суток
Вот я решил сверстать простеньки мобильный сайт к основному сайту и возникли пару вопрос
Есть ли подходящий плагин меню обычный при нажатии выпадал полное меню, или виде барабана с прокруткой?
и как лучше сделать мобильный сайт разместить на под домене, типа такого мобайл.сайт.ру, или создать в корне основного сайта папку для мобильного и выводилась типа этого сайт.ру/мобайл?
И еще вопрос, какой нужен скрипт, чтоб определял с чего заходят на основной домен, и если заходят с мобилы, или с планшетника, автоматом перекидывал на мобильную версию?

пока вот все
*

vegushka

  • Давно я тут
  • 523
  • 36 / 1
  • Мажьте лоб вазеленкой
а можно сделать проще. Использовать шаблон от Rockettheme(ссылка в подписи). Там мобильная версия сайта шаблоном делается. :)
ненавижу icetheme, обожаю Rockettheme
Ваше спасибо - в репу, а лучше на Яндекс 41001140731879
*

Bismuth

  • Захожу иногда
  • 138
  • 2 / 0
а можно сделать проще. Использовать шаблон от Rockettheme(ссылка в подписи). Там мобильная версия сайта шаблоном делается. :)

Проще это не значит лучше, да и зачем мне чужие шаблоны, я предпочитаю делать свои, хоть и ни чего особого простые, но мне они нравятся, так что это не мое, но все равно спасибо
 
*

vegushka

  • Давно я тут
  • 523
  • 36 / 1
  • Мажьте лоб вазеленкой
Проще это не значит лучше, да и зачем мне чужие шаблоны, я предпочитаю делать свои, хоть и ни чего особого простые, но мне они нравятся, так что это не мое, но все равно спасибо
 
ну раз вы по такому пути идете, то кто мешает вам взять все лучшее из шаблона рОкетов и интегрировать в свой шаблон?
ненавижу icetheme, обожаю Rockettheme
Ваше спасибо - в репу, а лучше на Яндекс 41001140731879
*

Bismuth

  • Захожу иногда
  • 138
  • 2 / 0
ну раз вы по такому пути идете, то кто мешает вам взять все лучшее из шаблона рОкетов и интегрировать в свой шаблон?
Я плохо знаю РНР можно сказать что вообще не знаю, а про JavaScrip для меня это темный лес, а вот сверстать на HTML с CSS, это я могу, и то правда без наворотов, позно начал изучать это все(((
*

bolonia

  • Захожу иногда
  • 222
  • 27 / 0
Мобильное меню делается очень просто. Я делал по примеру разработчиков YooTheme. Для начала нужно создать позицию, которая будет выезжать по клику на «Гамбургер». Назовем ее «offcanvas».
Вот примерно как выглядит этот код в index.php шаблона. Этот кусок должен находится внутри <body>:
Код
<?php if ($this->countModules('offcanvas')) : ?>
    <div class="main-offcanvas">
        <jdoc:include type="modules" name="offcanvas" />
    </div>
<?php endif; ?>

Не забыть прописать позицию в templateDetails.xml!

Далее, задаем стили для offcanvas'а в CSS. Я писал на LESS, перевести в CSS не составит труда, так что учтите это :)

Код
/* ==========================================================================
   Offcanvas
   ========================================================================== */

.main-offcanvas {
  display: none;
  width: 300px;
  height: auto;
  position: fixed;
  z-index: 1050;
  top: 0;
  left: -320px;
  bottom: 0;
  overflow-y: auto;
  border-right: 1px solid #949494;
  background: #434343;
  color: #fff;
  transition: all 300ms;

  .menu {
    padding: 0;
    margin: 0;
    margin-bottom: 20px;
    list-style: none;

    a,
    .separator {
      display: block;
      padding: 10px 20px;
      text-decoration: none;
      color: #fff;
      border-bottom: 1px solid #696969;

      &:hover,
      &.active {
        background: #696969;
      }
    }

    .active,
    .current {
      & > a,
      & > .separator {
        background: #696969;
      }
    }

    .separator {
      &.parent {
        &:after {
          content: "";
          display: inline-block;
          position: relative;
          top: -2px;
          margin-left: 10px;
          background: url("../images/arrow-down-white.png") no-repeat center;
          width: 9px;
          height: 5px;
        }

        &.active {

          &:after {
            background-image: url("../images/arrow-up-white.png");
          }
        }
      }
    }

    ul {
      list-style: none;
      margin: 0;
      padding: 0;

      a {
        padding-left: 30px;
      }
    }
  }

  &.active {
    transition: all 300ms;
  }
}

Добавляем @media queries, чтобы наш offcanvas был виден только на мелких дисплеях:

Код
@media all and (max-width: 1023px) {
  .main-offcanvas {
    display: block;

    &.active {
      left: 0;
    }
  }
}

Теперь JS часть. Добавляем 2 функции, которые будут показывать и скрывать offcanvas.

Код
function showMobileMenu() {
    jQuery('.main-offcanvas').addClass('active');
    jQuery('[data-offcanvas]').addClass('active');

    function hideEvent(e) {
        if(!jQuery(e.target).closest('.main-offcanvas').length) {
            hideMobileMenu();
            jQuery(document).off('click', 'body', hideEvent);
        }
    }

    jQuery(document).on('click', 'body', hideEvent);
}

function hideMobileMenu() {
    jQuery('.main-offcanvas').removeClass('active');
    jQuery('[data-offcanvas]').removeClass('active');
}

И повесим событие на все элементы с аттрибутом data-offcanvas, для удобства (кнопка гамбургера)

Код
jQuery('[data-offcanvas]').click(function(){
        if (jQuery(this).hasClass('active')) {
            hideMobileMenu();
        } else {
            showMobileMenu();
        }
        return false;
    });

Ну и небольшая вишенка, которая делает аккордеон для пунктов меню разделителей:

Код
jQuery('.main-offcanvas .separator').each(function() {
        var navChild = jQuery(this).siblings('.nav-child');
        console.log(navChild.length);
        if (navChild.length > 0) {
            jQuery(this).addClass('parent');
            navChild.hide();
        }

        jQuery(this).click(function() {
            if (jQuery(this).hasClass('active')) {
                jQuery(this).removeClass('active');
                navChild.slideUp();
            } else {
                jQuery(this).addClass('active');
                navChild.slideDown();
            }
        });
    });
Бесплатный модуль обратного звонка / обратной связи для J3: http://joomlaforum.ru/index.php?topic=309065.0
*

bolonia

  • Захожу иногда
  • 222
  • 27 / 0
Самое важное забыл написать: для мобильного меню нужно создавать свой модуль меню и публиковать его в offcanvas. Да, это не так оптимально, если бы мы копировали текущее меню через JS, но дает больше преимуществ, например, при настройке модуля через админку. Помимо модуля меню, в offcanvas можно опубликовать модуль поиска.
Бесплатный модуль обратного звонка / обратной связи для J3: http://joomlaforum.ru/index.php?topic=309065.0
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
граммотно написано, сохраню себе в закладку...
а я использовал компонент Мобилесайт
нужно будет-дам ссылку(может не так назвал, непомню дословно имя)
он автоматом сайт переводит под мобильно-планшетную версию и ставить легко, только там уже в настройках нужно правку для шаблона своего.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Bismuth

  • Захожу иногда
  • 138
  • 2 / 0
Спасибо попробую Ваш метод создание меню

граммотно написано, сохраню себе в закладку...
а я использовал компонент Мобилесайт
нужно будет-дам ссылку(может не так назвал, непомню дословно имя)
он автоматом сайт переводит под мобильно-планшетную версию и ставить легко, только там уже в настройках нужно правку для шаблона своего.

Дайте пожалуйста ссылку )))
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
http://www.mobilejoomla.com
там есть фри версия.
лично я ставил и работает.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla! 3.9.21 Невозможно создать пункт меню

Автор edvalitto

Ответов: 1
Просмотров: 1237
Последний ответ 26.03.2025, 19:26:30
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1462
Последний ответ 24.03.2025, 20:03:01
от R31rus
Проблема с меню

Автор denis_4

Ответов: 6
Просмотров: 1633
Последний ответ 07.08.2024, 14:00:43
от denis_4
Непонятная проблема с меню

Автор THE KILLERS

Ответов: 2
Просмотров: 7161
Последний ответ 25.07.2024, 16:07:39
от THE KILLERS
Один пункт меню думает что он главный

Автор DamaVbubi

Ответов: 4
Просмотров: 1160
Последний ответ 13.02.2024, 19:49:10
от DamaVbubi