Новости 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 Гость просматривают эту тему.
  • 18 Ответов
  • 3561 Просмотров
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Пагинация в модуле
« : 30.10.2015, 23:29:49 »
Привет всем.Пытаюсь реализовать пагинацию для модуля,
 $limit      = JRequest::getVar('limit', 4);
    $limitstart = JRequest::getVar('limitstart', 0);
    
    $db         =& JFactory::getDBO();
    
    $query    = "SELECT count(*) FROM jos_virtuemart_products";
    $db->setQuery( $query );
    $total    = $db->loadResult();
    
    $query      = "SELECT * FROM jos_virtuemart_products";
    $db->setQuery ( $query, $limitstart, $limit);
    $rows       = $db->loadObjectList();
    
    if ($db->getErrorNum())
    {
      echo $db->stderr();
      return false;
    }
    
    jimport( 'joomla.html.pagination' );
    $pageNav = new JPagination($total, $limitstart, $limit);
    //var_dump($pageNav);
    echo $pageNav->getListFooter();
Пагинация вывелась, но теперь когда щелкаешь, она добавляет в строку юрл, номирацию страниц, это не очень красиво, и мне не надо впринциппе это.Что сделать, как убрать?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #1 : 30.10.2015, 23:39:10 »
Потому что пагинация предназначена для компонентов.
*

bolonia

  • Захожу иногда
  • 222
  • 27 / 0
Re: Пагинация в модуле
« Ответ #2 : 31.10.2015, 00:18:08 »
Переопределить текущую пагинацию в Joomla наверное не вариант, так что писать свою реализацию.
Бесплатный модуль обратного звонка / обратной связи для J3: http://joomlaforum.ru/index.php?topic=309065.0
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #3 : 31.10.2015, 00:22:41 »
Для модуля может быть ТОЛЬКО пседвопагинация, то есть через JS, никаких новых урлов быть не может, для этого нужен компонент.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Пагинация в модуле
« Ответ #4 : 31.10.2015, 00:26:51 »
как мне нравится "аля-вот вам код, вод я хочу, и не как"
это типа-вот вам движок он запорожка, я вствил в мерс, но мерс чтото не едет

ТСвам правильно советуют, ну куда вы ваш код, скопированный тулить будете?
А до кода что?.Ну одно дело не шарят, но другое-тут же код дали...
Чем больше я читаю такие темы, тем более я люблю своего кота!
Voland-ещё раз привет.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Re: Пагинация в модуле
« Ответ #5 : 31.10.2015, 00:56:15 »
просто не хотел свое писать, потому что больше года не занимался этим, решил быстрым способом реализовать.
Мне надо как раз чистый юрл.понял, дурацкая идея.Спасибо.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #6 : 31.10.2015, 00:57:26 »
Спасибо.
Не за что, в смысле мой ответ заминусовали, такие дела на форуме :-(
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Пагинация в модуле
« Ответ #7 : 31.10.2015, 01:08:59 »
мой ответ заминусовали, такие дела на форуме :-(
Хм, voland, что вы сделали этому bolonia?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Пагинация в модуле
« Ответ #8 : 31.10.2015, 01:11:39 »
Хм, voland, что вы сделали этому bolonia?
Ничего, даже минуса не ставил, что конечно странно.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Пагинация в модуле
« Ответ #9 : 02.11.2015, 23:52:52 »
Ничего, даже минуса не ставил, что конечно странно.
А он уже два минуса поставил...
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Пагинация в модуле
« Ответ #10 : 03.11.2015, 11:07:48 »
Пагинация вывелась, но теперь когда щелкаешь, она добавляет в строку юрл, номирацию страниц, это не очень красиво, и мне не надо впринциппе это.Что сделать, как убрать?
перехват пагинации через JS, отправка аяксом в модуль, и вывод там контента модуля вместе с пагинацией, только так не будет добавляться нумирация страниц!


Потому что пагинация предназначена для компонентов.
Что честно? Именно для компонентов? А пагинация об этом знает?!

Для модуля может быть ТОЛЬКО пседвопагинация, то есть через JS, никаких новых урлов быть не может, для этого нужен компонент.
А чем модуль отличается от компонента? Тем что компонент выводится в <jdoc:include type="component" /> А модуль в <jdoc:include type="modules" name="name" />! Что  там что там выводится произовльный кусок кода!


просто не хотел свое писать, потому что больше года не занимался этим, решил быстрым способом реализовать.
Мне надо как раз чистый юрл.понял, дурацкая идея.Спасибо.
Да ничего дурацкого!
Вот пример: http://med53.ru/ модуль внизу "Новые отзывы о врачах и мед.учреждениях", как раз таки стандартная пагинация + AJAX!
Работает так!
Выводите как выводили, а дальше перехват клика:
Код: php
<script>
jQuery(document).ready(function ($) {
$(document).on('click', '.home-comment-pagination a', function () {
$.get($(this).attr('href') + '&option=com_ajax&module=wss_content&method=getComments&format=raw&Itemid=101', function (responce) {
$('.ajax-comments-wrapper').html(responce);
});
return false;
});
});
</script>
.home-comment-pagination - это блок в котором пагинация (называете как вам удобно, это что бы пагинация не была перехвачена в компоненте)
module=wss_content - имя вашего модуля в который вы стучитесь (без приставки mod)
method=getComments - имя метода в который вы стучитесь
&Itemid=101 - если у вас модуль отображается только на определенных страницах, то обязательно передавать Itemid текущей страницы!


А дальше идете в файл helper.php вашего модуля и там в классе добавляете метод:
Код: php
static function getCommentsAjax(){
//тут получаете все что вам нужно по данным и пагинации из $_REQUEST
?>
тут выводим разметку модуля и пагинацию
<?php
}

в getCommentsAjax вы так же само получаете данные и формируете пагинацию, только надо будет в методе вывести контент
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Пагинация в модуле
« Ответ #11 : 03.11.2015, 11:13:51 »
вот ты заморочился,+1 в репу.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Пагинация в модуле
« Ответ #12 : 03.11.2015, 11:19:03 »
интересно что насоветовали бы (кроме Istaan - он-то точно ответ знает), если бы нужно было в одном компоненте на одной странице вывести три пагинатора?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Пагинация в модуле
« Ответ #13 : 03.11.2015, 11:23:58 »
послали бы в хелпер ;D
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Пагинация в модуле
« Ответ #14 : 03.11.2015, 11:58:05 »
интересно что насоветовали бы (кроме Istaan - он-то точно ответ знает), если бы нужно было в одном компоненте на одной странице вывести три пагинатора?
А что представляет собой пагинация? Это просто набор ссылок с разными значениями limit и limistart. Без JS использовать родную Joomla-пагинацию, думаю, не получится: нужно давать разным блокам разные имена переменных. С JS - хоть десять: наверняка уже видели, как основная картинка меняется при клике на иконки внизу, чем это не пагинация?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Пагинация в модуле
« Ответ #15 : 03.11.2015, 12:02:58 »
основная картинка меняется при клике на иконки внизу, чем это не пагинация?
а зачем скрипт?можно и CSS ведь.....
вообще, при чём тут пагинация и модуль?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Пагинация в модуле
« Ответ #16 : 03.11.2015, 12:07:46 »
Без JS использовать родную Joomla-пагинацию, думаю, не получится: нужно давать разным блокам разные имена переменных.
На одной странице можно вообще то использовать сколько угодно пагинаций без использования JS
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Пагинация в модуле
« Ответ #17 : 03.11.2015, 12:22:19 »
а зачем скрипт?можно и CSS ведь.....
Да? Тогда подскажите, как посредством CSS передать данные?
На одной странице можно вообще то использовать сколько угодно пагинаций без использования JS
Возможно, но не углублялся, предпочитаю AJAX'ом получить данные, благо кода совсем немного.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Пагинация в модуле
« Ответ #18 : 03.11.2015, 12:28:36 »
robert я просто имел ввиду не передачу, а смену при пагинации.
сорри, не так выразился.
///
а чего тему так усугубили?изза вопроса Алека?
нет спроса-нет вопроса, чего напряглись не изза чего...
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести модуль в модуле

Автор jimka

Ответов: 2
Просмотров: 1662
Последний ответ 18.04.2025, 15:39:36
от fbr
Пагинация страниц

Автор Anna_N

Ответов: 3
Просмотров: 821
Последний ответ 06.01.2025, 02:45:52
от pavelrer
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 1493
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Вывод дополнительного поля материала в модуле

Автор timofe

Ответов: 10
Просмотров: 2643
Последний ответ 06.10.2023, 14:02:24
от Mitriy
Как вставить картинку материала в модуле Последние материалы?

Автор androv77

Ответов: 13
Просмотров: 1819
Последний ответ 20.12.2022, 08:37:38
от marksetter