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

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Приветствую товарищи!

Беда какая, уже как угодно переписовал код и по документации писал не работает код обновления и добавления.


В первом запросе через поля (user_id и ref_id) мы проверяем голосовал ли он. Если пусто, значит нет и выпольням след. код вставка в эту же таблицу #__js_res_vote поля и еще обновляем одну таблицу.

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

Скрин запроса из phpAdmin

А вот другие не работают вообще.

Писал sql запрос как стрингой,  открывал соединение отедльно и без рузультатотно. Если запрос обновления и вставки вывести и его же вставить в phpMyAdmin заменив только на префикс таблицы все четко работает и добавляет.

С меня +, кто свежим взглядом найдет ошибку
Код
class modcobaltRatingTopicHelper
{
    public static function getAjax()

    {
        $topic_rating = $_POST['topic_rating'];
        $id_topic = $_POST['id_topic'];
        $id_user = $_POST['id_user'];

        $db = JFactory::getDbo();
        $sql = $db->getQuery(true);

        $sql->select('ref_id');
        $sql->from('#__js_res_vote');
        $sql->where('user_id = ' . $id_user. " AND ref_id = ".$id_topic);
        $db->setQuery($sql);
        $resultCheckVote = $db->loadColumn();

        if (empty($resultCheckVote)):

            $columns = array('user_id', 'ref_id', 'vote');
            $values = array($id_user, $id_topic, $topic_rating);

            $sql->insert('#__js_res_vote');
            $sql->columns($db->quoteName($columns));
            $sql->values(implode(',', $values));
            $db->setQuery($sql);


            $sql->update('#__js_res_record')->set('votes = 1')->where('id = ' . $id_topic);
            $db->setQuery($sql)->execute();
        else:

            return "Голосовали уже";

        endif;
    }
}


Вот при таком расскладе что есть сейчас консоль ругается на ""JDatabaseExceptionExecuting: Unknown column 'ref_id' in 'where clause'""

« Последнее редактирование: 06.09.2019, 14:00:41 от pavel2950 »
*

icom

  • Давно я тут
  • 830
  • 202 / 4
Re: sql запрос не работает
« Ответ #1 : 01.09.2019, 21:15:51 »
возможно $id_topic пустое значение,
перед запросом проверяйте
if ($id_topic) {

}

или вместо $id_topic = $_POST['id_topic'];
прописать
$jinput = JFactory::getApplication()->input;
$id_topic = $jinput->get('id_topic', 0);
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Re: sql запрос не работает
« Ответ #2 : 01.09.2019, 22:23:49 »
возможно $id_topic пустое значение,
перед запросом проверяйте
if ($id_topic) {

}

или вместо $id_topic = $_POST['id_topic'];
прописать
$jinput = JFactory::getApplication()->input;
$id_topic = $jinput->get('id_topic', 0);
В том то идело что все заполненно
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: sql запрос не работает
« Ответ #3 : 01.09.2019, 23:13:04 »
покажите, что выводит перед выполнением запроса
Код: php
$sql->__toString();

и напрямую из $_POST получать значения для подставновки в запрос - это прямая sql-инъекция, либо через фабрику получайте, как в примере выше, либо через filter_input(), и если это должно быть числовое значение, то делайте обязательное приведение типов, либб значение через $db->quote() обязательно пропускайте
« Последнее редактирование: 01.09.2019, 23:18:28 от AlekVolsk »
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Re: sql запрос не работает
« Ответ #4 : 04.09.2019, 16:49:34 »
$sql->__toString();

ничего не выводит. стринга пустая мол
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: sql запрос не работает
« Ответ #5 : 04.09.2019, 17:23:50 »
посмотрел внимательней и только сейчас заметил: вам необходимо после каждого выполнения запроса снова его инициализировать, т.е. перед каждым формированием нового запроса обязательно
Код: php
$sql = $db->getQuery(true);
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Re: sql запрос не работает
« Ответ #6 : 04.09.2019, 18:40:19 »
посмотрел внимательней и только сейчас заметил: вам необходимо после каждого выполнения запроса снова его инициализировать, т.е. перед каждым формированием нового запроса обязательно
Код: php
$sql = $db->getQuery(true);
Вы совершены правы. Я как раз это и сделал и еще переделал на вариант такой чтоб данные экранировались автоматически.

Для понимания(пример):

Код
// Создаем и заполняем объект
$profile = new stdClass();
$profile->user_id = 42;
$profile->profile_key = 'custom.message';
$profile->profile_value= 'Вставка данных с помощью insertObject()';
$profile->ordering = 1;
 
// Вставляем объект в таблицу профиля пользователя
$result = JFactory::getDbo()->insertObject('#__user_profiles', $profile);


Метод insertObject() автоматически экранирует данные: применяет quoteName() к имени таблицы и колонкам, а также quote() к значениям.


Спасибо сайту в очередной раз cmscafe.ru



P.S. Я думал что открыв 1 подключение выполнил все запросы и закрыть, казалось вроде это логично и типа лишний раз не открывал/закрывать подклчюение. А вышло что надо каждый раз открыть, закрыть.
« Последнее редактирование: 04.09.2019, 18:43:49 от pavel2950 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 1703
Последний ответ 21.05.2025, 12:44:06
от jeans
Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 2329
Последний ответ 06.04.2025, 09:27:20
от wishlight
[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 1816
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
Не работает капча

Автор Leo1986

Ответов: 4
Просмотров: 1185
Последний ответ 16.09.2024, 09:15:28
от Leo1986
[Решено] Получить category description image в index.php шаблона

Автор goga_pgasovav

Ответов: 6
Просмотров: 1745
Последний ответ 12.07.2024, 17:06:14
от goga_pgasovav