Новости Joomla

Вышли релизы безопасности Joomla 6.0.2 и Joomla 5.4.2

Релиз безопасности Joomla 6.0.2 и 5.4.2

Проект Joomla спешит сообщить о выпуске Joomla 6.0.2 и Joomla 5.4.2. Это релиз безопасности для серии Joomla 6.0 и релиз безопасности для серии Joomla 5.4.

JL Content Fields Filter 4.0.0

JL Content Fields Filter 4.0.0

JL Content Fields Filter - Это бесплатный модуль, который фильтрует материалы в категории Joomla согласно настраиваемым полям.

Данный крупный релиз включает полную совместимость с Joomla 6, критические исправления безопасности, полностью модернизированный интерфейс администратора и обширный рефакторинг кода.

Ключевые Особенности:

- Полная совместимость с Joomla 6: Полная миграция на PSR-4, удаление устаревших методов, исправления для PHP 8.2+ и современные взаимодействия с базой данных.

- Полностью переписанный интерфейс компонента:

- Современный JS стек (Native Fetch, ES6+, модальные окна Bootstrap 5)

- Новое поле FilterfieldsField для предварительного просмотра фильтров в реальном времени.

- Полный CRUD, улучшенные функции SEO и улучшенный UX.

- Критические исправления безопасности:

- 5 SQL-инъекций устранены в нескольких файлах.

- Добавлена защита от XSS, улучшены токены CSRF и проверки разрешений.

- Улучшения модуля и плагина: Улучшенная функциональность слайдера, лучшие сбросы форм, динамическое обнаружение контекста для плагинов и оптимизированная логика фильтрации.

Страница расширения:
https://joomline.ru/rasshirenija/moduli/jlcontentfieldsfilter.html

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

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Делаю бонусную программу для сайта. Не получается вывести нужные данные. Либо знаний MySQL не хватает, либо PHP, либо вывод через PHP именно в Joomla... (либо плохому танцору яйяяя мешают crazy!)

Есть две таблицы:
родная таблица ВиртМарта `jos_vm_orders`, где по id юзера можно посчитать, какие покупки он сделал
и таблица `jos_vm_friends`, созданная мною, где есть привязка друзья друзей: поля id, user_id, user_friend_id

Вопрос: нужно получить сумму совершённых заказов друзей, которые подписались под меня.

Например, запрос 1: выводим сначала друзей, которые под меня подписаны:

<?php
        $db =& JFactory::getDBO();
        $query =  'SELECT `user_friend_id` FROM  `jos_vm_friends` WHERE `user_id` = '.$auth['user_id'].'';
           $db =& JFactory::getDBO();
                  $result = $db->setQuery($query);
        $res =  $db->loadAssoc();
?>

Запрос 2: вывести сумму заказа по id.

<?php
        $db =& JFactory::getDBO();
        $query2 =  'SELECT SUM( order_total ) AS  `total` FROM  `jos_vm_orders` WHERE `order_status` =  "ЗД" AND `user_id` = "120"';
           $db =& JFactory::getDBO();
                  $result = $db->setQuery($query);
        $res =  $db->loadAssoc();
?>

Как объединить эти запросы и вывести сумму покупок всех моих друзей?

Заранее благодарю!

Модераторы! Не знал, куда эту тему прикрутить. Если больше к разработке подходит, прошу перенести тему и сильно не меня не матюггать  8)
« Последнее редактирование: 26.12.2009, 18:26:03 от dmonco »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Код: php
$user =& JFactory::getUser();
$db =& JFactory::getDBO();

$query = 'select f.user_friend_id AS fid, SUM(o.order_total) AS osun
from #__vm_friends as f
join jos_vm_orders as o on o.user_id = f.user_friend_id
where f.user_id = "'.$user->id.'" and o.order_status =  "ЗД"
group by f.user_friend_id';

$db->setQuery($query);
$rows = $db->loadObjectList();

foreach ( $rows as $row )
{
echo $row->fid.' - '.$row->osun;
}

То есть - получили объект авторизованного пользователя (в запросе используем его id), написали общий запрос, берущий ID друга и сумму его объектов из второй таблицы и в цикле выводим.
Будет работать в стандартном окружении движка (компонент\модуль\плагин\шаблон), писал на глаз, в синтаксисе мог где ошибиться
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Принцип понял! Огромное спасибо!
Чё-то на самом деле где-то ошибочка. В мускуле проверяю:

SELECT `f.user_friend_id` AS `fid`, SUM( o.order_total ) AS `osun`
FROM `jos_vm_friends` AS `f` JOIN `jos_vm_orders` AS `o` ON `o.user_id` = `f.user_friend_id`
WHERE `f.user_id` = "131" AND `o.order_status` = "ЗО" GROUP BY `f.user_friend_id`

пишет Unknown column 'f.user_friend_id' in 'field list'
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
пишет Unknown column 'f.user_friend_id' in 'field list'
проверьте по структуре ваших таблиц, я же ее досконально не знаю, но принцип надеюсь понятен :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Блин, знаю, что 100% какая-то мелочь, а что именно найти не получается.

Beliyadm, помогите, пожалуйста.

Пробовал разбить на части, проверить, например, таким запросом:

SELECT `user_id`, `user_friend_id`, `order_total`
FROM `jos_vm_friends`
INNER JOIN `jos_vm_orders`
ON `jos_vm_friends.user_friend_id` = `jos_vm_orders.user_id`

Выдает ошибку: #1052 - Column 'user_id' in field list is ambiguous

Структура таблиц следующая:

jos_vm_friends
   id   user_id   user_friend_id
   1   131           130
   2   131           140
   3   131           122

jos_vm_orders
   order_id   user_id   order_total
   1           130           5060.00000
   2           140           1070.00000
   3           122           2430.00000

Заранее благодарю!
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Ну тут два варианта :) Либо поля user_id нет ни в одной таблице, либо оно есть с таким названием в обоих таблицах, а вы в SELECT не указываете псевдоним, соответственно запрос не знает из какой таблицы брать данное поле
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Код: sql
SELECT f.user_id, f.user_friend_id, o.order_total
FROM jos_vm_friends AS f
INNER JOIN jos_vm_orders AS o ON f.user_friend_id = o.user_id
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmonco

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
  • http://dmitryboruk.com
Огромное спасибо!  :D :D :D :D :D :D

Всё работает чётко!

Вот окончательный вариант, может пригодится кому-то:

Код
SELECT f.user_id, f.user_friend_id, SUM(o.order_total)
FROM jos_vm_friends AS f
INNER JOIN jos_vm_orders AS o ON f.user_friend_id = o.user_id where f.user_id = "'.$user->id.'" and o.order_status =  "ЗД"
group by f.user_friend_id

Тему можно закрывать.
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
А как вывести php на отдельной странице Joomla?
Подскажите, пожалуйста, принцип...
Заранее спасибо.
*

RoooMka

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
  • RoooM
Может знаете, как добавить в order.order_list.php (список продаж) столбец с названием товара или хотя бы производителя?

$list  = "SELECT #__{vm}_orders.order_id,order_status, #__{vm}_orders.cdate,#__{vm}_orders.mdate,order_total,order_currency,#__{vm}_orders.user_id, ";
$list .= "first_name, last_name FROM #__{vm}_orders, #__{vm}_order_user_info WHERE ";
$count = "SELECT count(*) as num_rows FROM #__{vm}_orders, #__{vm}_order_user_info WHERE ";

Заранее спасибо!
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Ребят а как просто вывести все содержимое  таблицы?
Мой сайт про корабли
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заставить Joomla 1.5 работать на сервере с MySQL версии 5.7 и выше?

Автор Palomnik

Ответов: 14
Просмотров: 9133
Последний ответ 01.10.2024, 00:22:40
от jesus
Как установить Joomla 1.5 на php 7?

Автор Marius

Ответов: 8
Просмотров: 4649
Последний ответ 30.05.2021, 21:11:21
от Marius
При попытке войти в админку 404 ошибка компонента - Joomla 1.5: Общие вопросы

Автор omezik

Ответов: 1
Просмотров: 4139
Последний ответ 30.08.2019, 16:10:56
от voland
Нужно починить модуль импорта на сайте Joomla

Автор matus-8

Ответов: 0
Просмотров: 3984
Последний ответ 22.08.2019, 15:09:17
от matus-8
Восстановление Joomla на локальном компьютере из резерной копии

Автор raf88

Ответов: 6
Просмотров: 9013
Последний ответ 28.12.2018, 01:48:46
от natalileto