Новости Joomla

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

👩‍💻 SW JProjects v.2.6.1 - компонент каталога расширений для веб-приложений.

Компонент позволяет сделать свой мини-Joomla Extensions Directory - каталог расширений для CMS (не только для Joomla) или файлов. Есть возможность скачивания по лицензионным ключам создания кастомных схем данных для сервера обновлений.

👩‍💻 v.2.6.1. Что нового?
- Правки наследования схем серверов обновлений. Улучшена логика наследования схем серверов обновлений для проектов компонент - категория - проект.
- Не стабильные релизы в сервере обновлений. Теперь в данные сервера обновлений попадают все версии (alpha, beta и т.д.), а не только stable.
- Косметические изменения. В шаблоне по умолчанию сделаны замены некоторых CSS-классов, уточнено присвоение атрибутов loading=lazy и fetchpriority.
- Рефакторинг и правки кода. Текущее обновление кодовой базы.
- Исправление ошибок.

👩‍💻 Больше спасибо за помощь в тестировании участникам нашего сообщества Александру Новикову (@pro_portal) и Александру Судьбинову (@alexrevo).

- Страница расширения
- GitHub расширения
- Joomla Extensions Directory

@joomlafeed

Событие Pizza, Bugs & Fun - 29-30 января 2026 года.

Событие Pizza, Bugs & Fun  - 29-30  января 2026 года.

Уже несколько лет в мире Joomla проводятся мероприятия "Pizza, Bugs & Fun" (#PBF), где каждый может посвятить несколько часов своего мозгового времени тому, чтобы наша любимая CMS стала ближе к идеалу.

Ссылки на видео и статьи из этого поста рассказывает об организационных вопросах, которые пригодятся для участия в PBF, а так же что и как делать.

В рамках события PBF все желающие могут собираться в общий онлайн чат, обсудить вопросы Joomla и приложить к их разрешению свою руку. Самый классный вариант, когда эта встреча происходит оффлайн: тогда организовывается пицца, напитки по вкусу и несколько часов совместного творчества.

Каждый помогает тем, что он умеет:

  • кто-то пишет недостающую документацию,
  • кто-то пишет код,
  • кто-то тестирует как исправлены ошибки или сделан новый функционал.

На сайте события есть карта, можно "захостить" свою локацию. Практически все движки в мире развиваются за счёт спонсирующих их компаний. Joomla одна из немногих, где развитие идёт только усилиями международного сообщества энтузиастов.

https://www.youtube.com/watch?v=a-FuVKXg_Uw 

На момент написания данного поста в репозитории Joomla 810 открытых Issue (как правило это баги) и 236 Pull request (PR, исправление багов и новый функционал). Все PR обязательно тестируются минимум двумя участниками сообщества, дабы в конечный код движка не проскочила ошибка.

Если каждый из участников только нашего сообщества сделает даже одно тестирование, то, боюсь, PR и Issue на всех не хватит 😀 И ничего не останется нашим коллегам из международных Joomla-чатов.

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

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Всем привет!
Прошу помощи у гуру PHP в оптимизации запроса к базе данных.
Сейчас у меня как-то так вышло:

Код
<?php
$db = &JFactory::getDBO();
$tstsmls = $db->setQuery("SELECT SubmissionId FROM #__rsform_submissions WHERE UserId = 1")->loadColumn();
foreach  ($tstsmls as $tstsml) { ?>
                <div class="testimonial">
                    <div class="name"><?php echo $db->setQuery("SELECT FieldValue FROM #__rsform_submission_values WHERE SubmissionId = '$tstsml' AND FormID = 3 AND FieldName = 'Fullname'")->loadResult(); ?></div>
                    <div class="city"><?php echo $db->setQuery("SELECT FieldValue FROM #__rsform_submission_values WHERE SubmissionId = '$tstsml' AND FormID = 3 AND FieldName = 'City'")->loadResult(); ?></div>
                    <div class="message"><?php echo $db->setQuery("SELECT FieldValue FROM #__rsform_submission_values WHERE SubmissionId = '$tstsml' AND FormID = 3 AND FieldName = 'Message'")->loadResult(); ?></div>
                </div>
<?php } ?>

Объясню.. Хочу выводить данные, отправдленные с формы сайта (отзывы).
Сначала я делаю запрос к таблице, в которой хранятся ID отзывов, и получаю SubmissionId
Зная ID я хочу получить значения из другой таблицы (Имя, город, отзыв).
И получается так, что мне приходится для каждого отзыва делать ещё аж по три запроса!
В колонке FieldName хранится имя поля, а в соседней колонке FieldValue значение этого поля...
Как бы мне все три значения получить в одном запросе, а потом (возможно с помощью json_decode) выводить их в нужном месте?  :dry:

Заранее благодарю всех откликнувшихся  !!!???!!!
« Последнее редактирование: 07.12.2020, 18:46:47 от goga_pgasovav »
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Re: Оптимизировать getDBO запрос
« Ответ #1 : 07.12.2020, 21:43:50 »
Думаю, Вам стоит оптимизировать не только запрос, но и подход.
В одном запросе получить все данные, а потом перебором foreach брать нужные.
На саму таблицу RS я не смотрел, но судя по Вашему коду, попробуйте примерно такой запрос (даю с 2 джоинами, чтобы 3-й Вы сами добавили):

Код
SELECT s.SubmissionId, v1.FieldValue AS Fullname, v2.FieldValue AS City
FROM #__rsform_submissions s
LEFT JOIN #__rsform_submission_values v1 USING(SubmissionId)
LEFT JOIN #__rsform_submission_values v2 USING(SubmissionId)
WHERE
    s.UserId = 1
    AND v1.FormID = 3
    AND v1.FieldName = 'Fullname'
    AND v2.FormID = 3
    AND v2.FieldName = 'City'
ORDER BY s.SubmissionId ASC

И метод потом loadObjectList

P.S. Не совсем понял Ваше условие UserId=1, но оставил, раз есть в исходном примере.
Возможно, будет интересно: Интеграция с Ozon
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Re: Оптимизировать getDBO запрос
« Ответ #2 : 07.12.2020, 22:24:46 »
Невероятно!  :D Вот это код... Я бы до такого никогда не додумался.
Вместо постоянного долбления БД запросами, получается всего один запрос!  :o
Нижайший поклон вам! Всё получилось!

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

Код
$tstsmls = json_decode(json_encode($db->loadObjectList()), true);
foreach  ($tstsmls as $tstsml) {
    echo $tstsml['Fullname'];
    echo $tstsml['City'];
}

Ну и так далее.
Третий параметр я так же добавил в своём коде, как и разметку нужную.
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Re: Оптимизировать getDBO запрос
« Ответ #3 : 07.12.2020, 23:29:27 »
 ;)

Возможно, в json и обратно - лишнее.
Если это для того, чтобы был список массивов, в не объектов,
тогда, пожалуй, проще просто использовать loadAssocList(), вместо loadObjectList().
Возможно, будет интересно: Интеграция с Ozon
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Оптимизировать getDBO запрос
« Ответ #4 : 08.12.2020, 04:47:49 »
Возможно, в json и обратно - лишнее.
А так ?
Код
$tstsmls = $db->loadObjectList();
foreach  ($tstsmls as $tstsml) {
    echo $tstsml->Fullname;
    echo $tstsml->City;
}
*

goga_pgasovav

  • Захожу иногда
  • 445
  • 6 / 0
  • Внимательный джумловод
Re: Оптимизировать getDBO запрос
« Ответ #5 : 10.12.2020, 12:36:56 »
;)

Возможно, в json и обратно - лишнее.
Если это для того, чтобы был список массивов, в не объектов,
тогда, пожалуй, проще просто использовать loadAssocList(), вместо loadObjectList().

Вы абсолютно правы! Именно loadAssocList() сработало. Я понимал что туда сюда в json гонять как-то неправильно, но о loadAssocList никогда не слышал  ^-^

А так ?
Код
$tstsmls = $db->loadObjectList();
foreach  ($tstsmls as $tstsml) {
    echo $tstsml->Fullname;
    echo $tstsml->City;
}

Это первое, что я попробовал, но оно не сработало. Ошибку выдаёт Joomla: 0 - Cannot use object of type stdClass as array
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[решено] создать MySQL-запрос по красоте :)

Автор effrit

Ответов: 13
Просмотров: 1308
Последний ответ 30.09.2017, 16:58:21
от effrit
Запрос в бд

Автор sSeifeRr

Ответов: 7
Просмотров: 1286
Последний ответ 02.08.2017, 18:28:19
от sSeifeRr
sql запрос из материла Joomla

Автор xak400

Ответов: 1
Просмотров: 1149
Последний ответ 30.06.2017, 09:45:32
от SmokerMan
Как составить запрос с выбором данных из строки с разделителем?

Автор denism300

Ответов: 34
Просмотров: 2592
Последний ответ 20.11.2016, 21:48:07
от robert
Как после сохранения заменить текст/дескрипшн (сделать sql запрос)?

Автор Karyuudo

Ответов: 2
Просмотров: 1332
Последний ответ 09.09.2015, 13:41:54
от Karyuudo